将数据从java类传输到javascript的简单方法

时间:2014-01-08 21:37:53

标签: java javascript jsp web

我有一个字符串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变量中?

2 个答案:

答案 0 :(得分:2)

为什么不使用Expression LanguageJSTL? e.g。

表达语言

var myJSString = "${myString}";

JSTL

<%@ 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");

使用javascript访问此值

注意:

1.getAccountName()应该从bean中调用

2.我没有检查上面代码的语法。只需快速输入,但这种方法可以完成你的工作。