Java 使用Struts标记而不是JSP表达式标记()

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

我想从这段代码中删除scriptlet,然后 我必须用Struts标签替换它,有人能建议我怎么做吗

     <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>