jsp怎么把text值存到js数组中

jsp怎么把text值存到js数组中... jsp怎么把text值存到js数组中 展开
 我来答
辰时劣人
推荐于2016-10-23 · TA获得超过117个赞
知道答主
回答量:57
采纳率:0%
帮助的人:65.2万
展开全部
首先你要了解jsp程序(Java代码部分)的运行机制。当浏览器请求服务器某个资源的时候(这个资源可能是图片、html文件或者视频文件等等,称之为静态资源,也有可能是一个jsp或者一个servlet,称之为动态资源)。

Java Web服务器(如tomcat等等)收到请求后判断分析,如果是静态资源,那么直接读取该文件发送给客户端,比如我们请求一个图片的时候,浏览器会显示图片,请求一个txt文件的时候会显示txt内容,当然如果请求的是一个word文档或者rar压缩包的时候,浏览器会提示要保存,因为浏览器无法展示(解析)这个返回的数据(当然,有点浏览器安装了如word这样的插件后就可以解析word文档)。

当浏览器请求的资源税动态资源的时候,服务器会转向运行相应的servlet程序。注意我们这里并没有说运行jsp!稍微对jsp有了解到都知道,jsp文件实质上也就是一个servlet,只不过在jsp和serlvet之间有个jsp规范,使得我们开发变得更容易罢了。 如果是请求的是一个servlet的url,那么直接将请求打包发给相应的serlvet运行即可。如果请求的是一个jsp呢?显然,是要把jsp编译成为一个Java类,然后再调用这个Java类进行相应的业务逻辑处理,输出结果。这个过程就是由Jsp引擎完成的。一个jsp页面一般只用编译一次即可,在tomcat根目录下的work目录中可以找到我们的站点所有jsp编译后的Java类。

好了,现在我们知道了。可以得出结论:jsp文件中,就可见性来说,首先“运行”的(优先级最高的)代码是Java代码。即,当你的浏览器接收到请求的jsp页面的时候,它已经是jsp对应的Java类运行输出的文本结果了。

比如:
<html>
<body>
<%
out.println("this is text generate at server");
String str = "Hi, I am Shawow!";
%>
<%=str%>
</body>
</html>
-----------------------------------------
看这段代码的时候,我们首先不要搞混了,要想到浏览器接收到这个jsp的结果的时候,<%%>和<%=%>标签里的代码都已经是运行完毕并输出完毕的了。
其结果当然是:
<html>
<body>

this is text generate at server

Hi, I am Shawow!
</body>
</html>
--------------------
实际上,jsp的标签显然是可以放在jsp文件的任意位置的,因为在服务器的Java类看来,你其他的html标签什么的都仅仅是文本数据,不管你是html标签还是script标签,都是文本输出。

再看一个简单的例子:

<!-- 假设这个文件的文件名为 login.jsp,站点名为test->
<%
String usr = (String)request.getParameter("usr");
String pwd = (String)request.getParameter("pwd");

out.print("your account is : "+ usr);
out.print("<br>");
out.print("your password is: "+ pwd);

%>

<html>
<body>
<!-- 这里我们直接提交到本页面进行验证 ->
<form action="/test/login.jsp" method="post">
account: <input type="text" name="usr" />
password: <input type="password" name="pwd" />
<input type="submit" value="GO" />
</form>
</body>
</html>
--------------------------------------
当我们输入http://localhost:8080/test/login.jsp的时候,页面顶部会输出:
your account is : null
your passwrod is: null
显然,说明了Java代码每次访问都是执行了的,而当在表单里填充数据提交的时候,就会正确输出。

-------------------
感觉说多了,呵呵。最后回答LZ的问题吧。
js代码和上面说一样,就jsp里的Java代码而言,都只是死的文本而已。

<%
//这里或许是生成结果的代码
%>

<!-- 在js中进行相应展示 ->
<script>
//如果是简单变量
var res = "<%=result%>";

//如果是一个数组变量
var array = [];

<%
// list 是Java代码生成的结果
for( int i = 0; i < list.length ; i++) {
%>

array[ <%= i %> ] = <%= list[i] %> ; //注意这段是js代码,里面嵌了两个Java输出

<%
}
%>

</script>

-------------------------
总之呢,个人建议,不要这样使用jsp,从这些例子也看到了,jsp页面写太多Java代码是多么糟糕的事情,建议尽量考虑一下系统总体需求,使用一些流行的框架,尽量减少jsp页面的Java代码吧,只把少量的展示代码写在jsp页面,其他业务处理都放到其他层中去。
ccsdba
2011-05-12 · 超过10用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:16.6万
展开全部
<script>
var str = "<%=text%>";
剩下的就是通过JS把str转换成数组
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kwqufxt
2011-05-12 · TA获得超过515个赞
知道答主
回答量:685
采纳率:0%
帮助的人:0
展开全部
js操作不了session啊
还是用ajax来操作吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式