see*_*gan 6 java struts2 netbeans-7
<s:select
name="PenaltyPercentage"
id="PenaltyPercentageId"
list="#{'7.5%':'7.5%', '15.0%':'15.0%'}" <!-- shows error in this line -->
headerKey=""
headerValue="Please Select"
emptyOption="false">
</s:select>
Run Code Online (Sandbox Code Playgroud)
错误消息如下所示
Encountered ":" at line 1, column 9.
Was expecting one of:
"}" ...
"." ...
"]" ...
">" ...
"<" ...
Run Code Online (Sandbox Code Playgroud)
Netbeans 7使用现在使用#字符的JSP EL 2.1.
对我来说(Netbeans IDE 7.0 RC1),虽然该行标记有错误但编译正常并且可以正常工作.如果glassfish不执行jsp,则以下链接显示如何在JSP 2.1容器中禁用JSP EL(以下链接的底部).
http://struts.apache.org/2.0.14/docs/ognl.html
可能目前最简单的解决方案是添加地图类:
#@java.util.LinkedHashMap@{ "foo" : "foo value", "bar" : "bar value" }
Run Code Online (Sandbox Code Playgroud)
在此主题中找到:http://struts.1045723.n5.nabble.com/s2-JSF-JSP-EL-vs-OGNL-EL-td3528303.html
有关JSP EL 2.1的信息,请参阅:http://jcp.org/aboutJava/communityprocess/final/jsr245/index.html
您可能只是展示了这个问题,但只是为了确保,如果您提供列表而不是地图,则返回到服务器的值将与显示的值相同.因此,以下内容生成相同的选择框,并且不会产生错误:
<s:select
list="{'7.5%','15.0%'}" <!-- does not show error -->
headerValue="Please Select"
emptyOption="false">
</s:select>
Run Code Online (Sandbox Code Playgroud)
我花了一点时间看看我是否可以在Netbeans 7中更改JSP EL版本但没有成功,还试图找到一种方法来禁用JSP EL错误检查而没有成功.因此,如果必须在JSP中使用OGNL映射,请禁用JSP EL(对于某些人来说这不是一个有吸引力的选项),或者如图所示显式声明地图.
| 归档时间: |
|
| 查看次数: |
2058 次 |
| 最近记录: |