表达式语言...如何在已解析的表达式周围添加引号?

时间:2013-07-24 21:52:49

标签: jsp servlets el

我是.jsp和servlets的新手,并且有一个表达语言问题。在我的java servlet文件中,我设置了一个属性:

HttpServletRequest request;
....
request.getSession().setAttribute("myValues", "TEST");

然后在我的.jsp文件中,我试图调用一个处理属性值的函数:

    <script>
        myForm.initSelect( ${myValues} );
    </script>

当我在Java控制台中查看已部署的结果时,$ {myValues} EL已解析为仅测试(没有引号)并且我得到TEST是未定义的错误。我希望结果显示:

myForm.initSelect( "TEST" );

我将值“TEST”(作为带引号的字符串)传递给我的initSelect函数。

我尝试添加如下引号:

myForm.initSelect( "${myValues}" );
myForm.initSelect( \"${myValues}\" );

以及使用单引号的其他一些变体,但那些不会给出预期的结果。有人可以提供一些建议吗?感谢。

1 个答案:

答案 0 :(得分:0)

myForm.initSelect( "${myValues}" );

没有错

它将被评估为

myForm.initSelect(“ABC”);

如果您有request.getSession().setAttribute("myValues", "ABC");