我想从此代码中删除scriptlet 我必须用struts标签替换它,任何人都可以建议我怎么做
<td CLASS="PSEDITBOX_DISPONLY" align="left" colspan="5">
+Name: <%=(user == null || user.getPreferredName() == null) ? "" :
user.getPreferredName()%>
</td>
答案 0 :(得分:0)
使用<logic:present/>
标记。
<td CLASS="PSEDITBOX_DISPONLY" align="left" colspan="5">
+Name:
<logic:present name="user">
< bean:write name="user" property="preferredName"/>
</logic:present>
<logic:notPresent name="user">
--- (no preferred name)
</logic:notPresent>
</td>
答案 1 :(得分:0)
在动作类中使用getter定义属性
public String getPreferredName() { return (user == null || user.getPreferredName() == null) ? "" : user.getPreferredName() ;}
更改您的代码
<td CLASS="PSEDITBOX_DISPONLY" align="left" colspan="5">
+Name: <s:property value="preferredName"/>
</td>
答案 2 :(得分:0)
这是正确的格式,
<td CLASS="PSEDITBOX_DISPONLY" align="left" colspan="5">
<s:if test="%{#user ==null } ||%{#user.preferredName ==null}">
Name :
</s:if>
<s:else>
Name :<s:property value="preferredName"/>
</s:else>
</td>