如何比較使用Struts2標籤和OGNL的兩個字符串? [java]


Answers

(不是一個答案,而是兩個建議,我需要格式化; Andrea的答案是正確的。)

為了您自己和後續人員的理智,將這個JSP塊轉換成一行:

  <s:iterator value="themes">
    <tr>
      <s:set var="currTheme" value="%{userTheme == themeName ? 'red' : 'green'}"/>
      <td bgcolor="${currTheme}">Cell content</td>
    </tr>
  </s:iterator>

考慮使用主題命名的CSS而不是內聯CSS,並大致避免它:

td.theme1 {
  background-color: red;
}

td.theme2 {
  background-color: green;
}

td.theme3 {
  background-color: #daa520;
}

(假設主題名為“theme1”,“theme2”,“theme3”,但是不相關)。

<table class="themed-table">
  <s:iterator value="themes">
    <tr>
      <td class="${themeName}">Cell content</td>
    </tr>
  </s:iterator>
</table>

將樣式信息“向上”移動一個級別會更好,例如table.theme1 td ,但是您明白了。 這樣做可以在主題信息的來源等方面提供很大的靈活性。

Question

我想比較兩個值:一個來自會議,另一個來自迭代器

<s:iterator value="themes" status="currentRecord"> 
    <s:if test="%{usertheme}) == %{themeName}">
        <td align="center" bgcolor="red">
    </s:if>
    <s:else>
        <td align="center" bgcolor="green">
    </s:else>
</s:iterator>

但是我無法比較我的價值觀,請你告訴我我犯的錯誤在哪裡?