我是JSP的新手。我尝试连接MySQL和我的JSP页面,它工作得很好。但这是我需要做的。我有一个名为"balance“的表属性。检索它并使用它来计算一个名为"amount“的新值。(我没有打印"balance")。
<c:forEach var="row" items="${rs.rows}">
ID: ${row.id}<br/>
Passwd: ${row.passwd}<br/>
Amount: <%=Calculate.getAmount(${row.balance})%>
</c:forEach>
在JSTL标记中插入scriptlet似乎是不可能的。
发布于 2012-05-04 02:58:39
另一种方法是使用Spring SpEL:
<%@taglib prefix="s" uri="http://www.springframework.org/tags" %>
<s:eval expression="T(org.company.Calculate).getAmount(row.balance)" var="rowBalance" />
Amount: ${rowBalance}
如果您跳过可选的var="rowBalance"
,那么<s:eval>
将把表达式的结果打印到输出。
发布于 2018-03-20 12:24:39
如果您的Java类是:
package com.test.ejb.util;
public class CommonUtilFunc {
public static String getStatusDesc(String status){
if(status.equals("A")){
return "Active";
}else if(status.equals("I")){
return "Inactive";
}else{
return "Unknown";
}
}
}
然后,您可以在JSP页面中调用静态方法'getStatusDesc‘,如下所示。
使用JSTL获取useBean页面顶部的类:
<jsp:useBean id="cmnUtilFunc" class="com.test.ejb.util.CommonUtilFunc"/>
然后在需要的地方使用表达式语言调用函数:
<table>
<td>${cmnUtilFunc.getStatusDesc('A')}</td>
</table>
发布于 2013-05-01 18:12:09
也可以使用像StaticInterface这样的Bean
<h:commandButton value="reset settings" action="#{staticinterface.resetSettings}"/>
和bean
package com.example.common;
import com.example.common.Settings;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
@ManagedBean(name = "staticinterface")
@ViewScoped
public class StaticInterface {
public StaticInterface() {
}
public void resetSettings() {
Settings.reset();
}
}
https://stackoverflow.com/questions/6395621
复制相似问题