Java 使用Struts标记而不是JSP表达式标记()
我想从这段代码中删除scriptlet,然后 我必须用Struts标签替换它,有人能建议我怎么做吗Java 使用Struts标记而不是JSP表达式标记(),java,jsp,struts2,scriptlet,Java,Jsp,Struts2,Scriptlet,我想从这段代码中删除scriptlet,然后 我必须用Struts标签替换它,有人能建议我怎么做吗 <td CLASS="PSEDITBOX_DISPONLY" align="left" colspan="5"> +Name: <%=(user == null || user.getPreferredName() == null) ? "" : user.getP
<td CLASS="PSEDITBOX_DISPONLY" align="left" colspan="5">
+Name: <%=(user == null || user.getPreferredName() == null) ? "" :
user.getPreferredName()%>
</td>
使用标签
在动作类中使用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>
这是正确的格式
<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>
在服务器上移动代码,使用Struts标记。这将使您的代码紧凑、分离、可测试、可理解。您可以在S2标记中使用该表达式。您可以为上述代码编写详细的代码吗?通过这种方式,您可以检查逻辑是否不为null,然后打印其值。如果逻辑不存在,则不会打印首选名称
<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>