我有一个JSP文件

<%@ taglib prefix="s" uri="/struts-tags"%>
<% response.setContentType("application/javascript"); %>

var collegename = '<s:text name="student.collegename"/>';


在messages.properties文件中定义的student.collegename。
现在我可以在Java脚本文件中使用collegename变量。

通过使用那些我可以将java值传递给java脚本变量的标记,Struts2中是否有任何标记?

例如:

var jsvariable = 'string value of a java method';


我已经用过了,但是没有用:
  Servlet代码:HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("collegename", collegename);

  JSP代码:var collegename= '<%=request.getAttribute("collegename")%>';
Java脚本代码:alert("collegename"+collegename)
它显示在IE:'collegename' is undefined

请建议

我也尝试过这个:
动作类:import javax.servlet.http.HttpServletRequest;HttpServletRequest request; HttpServletRequest request = ServletActionContext.getRequest(); request.setAttribute("collegename", collegename); System.out.println("now getting attribute-----"); String attr=(String) request.getAttribute("cname"); System.out.println("attr is:::"+attr);

大学名称属性的获取者/设置者。

JSP代码:<%@ taglib prefix="s" uri="/struts-tags"%><% response.setContentType("application/javascript"); %> var collegename= '<%=request.getAttribute("collegename")%>';

Java脚本代码:alert("collegename"+collegename)
  它显示在IE上:“学院名称”未定义

尽管它在控制台上显示正在获取属性(学院名称),但在Java脚本警报中却未显示。
它显示在IE上:“学院名称”未定义

请查阅。

最佳答案

您可以使用一些类似的代码。

var jsvariable = '<%=request.getAttribute("testattribute")%>';


希望能帮助到你

09-19 03:08