Arp*_*pit 8 javascript java jsp servlets
我有一个servlet,它有一个包含JSON字符串的变量.
JSONObject obj = new JSONObject();
obj.put("parameter", jsonList);
request.setAttribute("jsonstring", obj.toString());
RequestDispatcher rd = request.getRequestDispatcher("/file.jsp");
rd.forward(request, response);
Run Code Online (Sandbox Code Playgroud)
现在我将我的请求和响应对象转发到包含JS文件的JSP页面.如何在JS文件中访问jsonstring变量的值.因为我需要使用jQuery进一步解析我的JSON字符串.
我尝试在我的JS文件中执行此操作,正如我在网上的一些帖子中看到的那样.但它似乎对我不起作用.
var test = '<%=request.getAttribute("jsonstring")%>'
Run Code Online (Sandbox Code Playgroud)
请指导我.Thanx.
如果JSP文件使用<script>标记加载外部JavaScript文件,则如下所示:
<script type="text/javascript" src="js/yourFile.js"></script>
Run Code Online (Sandbox Code Playgroud)
然后它将无法正常工作.你所拥有的是一个JSP scriptlet,它只是在执行JSP文件时意味着什么.该yourFile.js文件不会在服务器端解析,因为它不需要.只有浏览器才知道如何处理<script>标记,并向服务器发出加载JavaScript的请求.
在这些情况下,您可以在JSP中执行以下操作:
<script type="text/javascript">
var test = <%=request.getAttribute("jsonstring")%>;
</script>
<script type="text/javascript" src="js/yourFile.js"/></script>
Run Code Online (Sandbox Code Playgroud)
由于JSP scriptlet位于JSP文件中,因此它现在实际上被正确处理,而是输出对象/数组的有效JSON以存储在全局范围的test变量中,然后您可以在其中引用该变量yourFile.js.
尝试这个 :
var test = <%=request.getAttribute("jsonstring")%>;
Run Code Online (Sandbox Code Playgroud)
否则尝试一下:
var test = eval('<%=request.getAttribute("jsonstring")%>');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21182 次 |
| 最近记录: |