首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在JSP/EL中调用静态方法?

如何在JSP/EL中调用静态方法?
EN

Stack Overflow用户
提问于 2011-06-18 18:58:58
回答 8查看 94.8K关注 0票数 91

我是JSP的新手。我尝试连接MySQL和我的JSP页面,它工作得很好。但这是我需要做的。我有一个名为"balance“的表属性。检索它并使用它来计算一个名为"amount“的新值。(我没有打印"balance")。

代码语言:javascript
复制
 <c:forEach var="row" items="${rs.rows}">
        ID: ${row.id}<br/>
        Passwd: ${row.passwd}<br/>
        Amount: <%=Calculate.getAmount(${row.balance})%>
 </c:forEach>

在JSTL标记中插入scriptlet似乎是不可能的。

EN

回答 8

Stack Overflow用户

发布于 2012-05-04 02:58:39

另一种方法是使用Spring SpEL:

代码语言:javascript
复制
<%@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>将把表达式的结果打印到输出。

票数 61
EN

Stack Overflow用户

发布于 2018-03-20 12:24:39

如果您的Java类是:

代码语言:javascript
复制
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页面顶部的类:

代码语言:javascript
复制
<jsp:useBean id="cmnUtilFunc" class="com.test.ejb.util.CommonUtilFunc"/>

然后在需要的地方使用表达式语言调用函数:

代码语言:javascript
复制
<table>
    <td>${cmnUtilFunc.getStatusDesc('A')}</td>
</table>
票数 7
EN

Stack Overflow用户

发布于 2013-05-01 18:12:09

也可以使用像StaticInterface这样的Bean

代码语言:javascript
复制
<h:commandButton value="reset settings" action="#{staticinterface.resetSettings}"/>

和bean

代码语言:javascript
复制
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();
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6395621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档