struts标签而不是jsp表达式标签(<%expression%>)

时间:2014-07-02 12:54:15

标签: java jsp struts2

我想从此代码中删除scriptlet              我必须用struts标签替换它,任何人都可以建议我怎么做

     <td CLASS="PSEDITBOX_DISPONLY" align="left" colspan="5">
      +Name: <%=(user == null || user.getPreferredName() == null) ? "" : 
      user.getPreferredName()%>
      </td>

3 个答案:

答案 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>
相关问题