我有一个JSP文件
<%@ taglib prefix="s" uri="/struts-tags"%>
<% response.setContentType("application/javascript"); %>
var collegename = '<s:text name="student.collegename"/>';
student.collegename在messages.properties文件中定义。 现在我可以在java脚本文件中使用collegename变量。
Struts2中是否有任何标记使用我可以将java值传递给java脚本变量的那些?
例如:
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);
getgen / setter for collegename property。
JSP代码:<%@ taglib prefix="s" uri="/struts-tags"%>
<% response.setContentType("application/javascript"); %>
var collegename= '<%=request.getAttribute("collegename")%>';
Java脚本代码:alert("collegename"+collegename)
它在IE上显示:'collegename'未定义
虽然它在控制台上显示获取属性(大学名称)但在java脚本警报中没有显示 它在IE上显示:'collegename'未定义
请查看。
答案 0 :(得分:4)
您可以使用类似的代码。
var jsvariable = '<%=request.getAttribute("testattribute")%>';
希望有所帮助
答案 1 :(得分:4)
这将在您的操作类上调用getSomeValue()
方法。
var collegename = '<s:property value="someValue" escapeJavaScript="true"/>';
答案 2 :(得分:-1)
如何使用EL,如$ {userName}或OGNL%{userName} ...