如何在JSP/Struts2中使用OGNL表达式
比如,是否可以在常规HTML中使用任何外部的 e、 例如,如果我想在EL中获取某个bean的值,我会在如何在JSP/Struts2中使用OGNL表达式,struts2,expression,ognl,Struts2,Expression,Ognl,比如,是否可以在常规HTML中使用任何外部的 e、 例如,如果我想在EL中获取某个bean的值,我会在DIV块中执行类似${beanName.propertyName}之类的操作 如何使用OGNL实现这一点。我有一个代码块: <s:iterator value="parentBean.qna" var="questionAndAnswers" status="qIndex"> <li> <s:lab
DIV
块中执行类似${beanName.propertyName}
之类的操作
如何使用OGNL实现这一点。我有一个代码块:
<s:iterator value="parentBean.qna" var="questionAndAnswers"
status="qIndex">
<li>
<s:label theme="simple"
value="Question %{#qIndex.index+1} - %{#questionAndAnswers.question}"/>
<ul>
<s:iterator value="%{#questionAndAnswers.answers}" var="answer" status="answersStat">
<li>
<input type="radio" name="parentBean.answerMap['%{qIndex}']" />'
value='<s:property value="%{#answersStat.index}"/>'><s:property value="%{#answer}" /></input>
</li>
</s:iterator>
</ul>
<br/>
</li>
</s:iterator>
-
'
值=“”>
其中显示的是input type=“radio”name=“parentBean.answerMap[''{qIndex}']”,…
我希望用当前索引动态替换qIndex
的值,以便将该值设置为后面的相应键。因此,如果它是parentBean.answerMap[1]
,我假设操作处的映射将具有key=1
和输入值
有什么帮助吗?没有使用OGNL语法,没有;JSP对OGNL一无所知 S2的请求包装器将允许使用JSPEL语法(
${}
)查询值堆栈,但我认为这不会扩展到命名值(没有压入堆栈的值,如迭代器索引)
当然,您不需要–在标记的属性中使用
,就像您对值
属性所做的那样。谢谢Dave。我昨晚解决了这个问题。我决定在Struts标签中尝试一下EL,它似乎起了作用。我以为不会,但它做到了。这样生活就更容易了。感谢你的解释