Rom*_*man 3 java jsf jstl facelets
我有一个豆田status.根据status值,应该应用不同的css类来渲染它.
所以,我需要这样的东西(离真实伪代码很远):
if status == "Approved"
cssClass = "green"
if status == "Rejected"
cssClass = "red"
<span class="cssClass">Some info</span>
Run Code Online (Sandbox Code Playgroud)
我试图申请,jstl但我不能使它与facelets和jsf(但我听说这是可能的,也许它的真相).这是代码:
<c:choose>
<c:when test="#{report.approved}">
<c:set var="statusClass" value="approved"/>
</c:when>
<c:when test="#{report.rejected}">
<c:set var="statusClass" value="rejected"/>
</c:when>
<c:when test="#{report.inProgress}">
<c:set var="statusClass" value="progress"/>
</c:when>
<c:when test="#{report.pendingHR}">
<c:set var="statusClass" value="pending"/>
</c:when>
</c:choose>
<span class="status ${statusClass}">#{report.formattedStatus}</span>
Run Code Online (Sandbox Code Playgroud)
如何使用JSF/Facelets?
为了给双方(模型和视图)带来好处,而enum不是使用四个独立的布尔值,这可能毕竟只会导致维护问题.
public enum Status {
APPROVED, REJECTED, PROGRESS, PENDING;
}
Run Code Online (Sandbox Code Playgroud)
它不仅在Java方面更容易和更清晰,而且你也可以在EL中打印它.
<span class="#{bean.status}" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11161 次 |
| 最近记录: |