0
我是新来的.jsp和servlets,并有一个表达式语言问题。在我的Java Servlet文件,我设置一个属性:表达式语言...如何在已解析的表达式中添加引号?
HttpServletRequest request;
....
request.getSession().setAttribute("myValues", "TEST");
在我的.jsp文件
于是,我试图调用处理属性值的函数:
<script>
myForm.initSelect(${myValues});
</script>
当我看Java控制台中已部署的结果,$ {myValues} EL已经解析为TEST(不包括引号),并且我得到的TEST未定义错误。我想,结果显示:
myForm.initSelect("TEST");
我在哪里传递值“TEST”(如引用字符串)到我initSelect功能。
我曾尝试加上引号,如:
myForm.initSelect("${myValues}");
myForm.initSelect(\"${myValues}\");
使用单引号
和其他一些变化,但那些没有产生预期的结果。任何人都可以提供一些建议吗?谢谢。
'myForm.initSelect( “$ {} myValues”);'是正确的。它做错了什么?你会得到什么输出?当然,如果实际值包含一个双引号(例如'TE“ST'),则生成的JS将不正确。正确地JS-转义该值以避免此问题 –
'request.getSession()。setAttribute “myValues”,“\”TEST \“”);' – alfasin
@JBNizet,谢谢。我看到一些奇怪的结尾引号正在消失......但事实证明,我在字符串中有很多空格,如何将标注的评论标记为正确的答案? – w2p2k