我有一个字符串String myString = "This is some text."
我也有一个getter getMyString()
我有一个jsp页面我想把它带到然后存储在localStorage中。因为这不是我的专业知识,我试过这样做......
var myJSString = "<%=myString%>";
var myJSString = <% getMyString(); %>
他们都给我同样的错误
HTTP状态500 - org.apache.jasper.JasperException:无法为JSP编译类
root cause
org.apache.jasper.JasperException: Unable to compile class for JSP
我查看了很多教程,但我无法让它工作。还有哪些方法可以将java变量放入javascript变量中?
答案 0 :(得分:2)
为什么不使用Expression Language或JSTL? e.g。
var myJSString = "${myString}";
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
...
var myJSString = '<c:out value="${myString}"/>';
答案 1 :(得分:1)
你无法在javascript中真正访问JSP创建的变量。我以前做的是,创建一个隐藏元素并通过scriptlet为其赋值。页面加载后,通过javascript访问隐藏元素的值。
<input type="hidden" id="accountName" value='<%= bean.getAccountName(); %>'/>
现在,当呈现页面时,您将得到类似的内容。
<input type="hidden" id="accountName" value='Myaccountname'/>
您可以使用document.getelementByID("accountName");
注意:
1.getAccountName()应该从bean中调用
2.我没有检查上面代码的语法。只需快速输入,但这种方法可以完成你的工作。