如何在jstl jsp中调用方法

时间:2016-09-12 09:48:37

标签: java jsp jstl

这个问题可以重复,并且在StackOverflow上有很多答案。

但我仍然没有得到我的代码中的问题。

会话中存储的对象是MessageResponse类的cmdResponse

这就是我从会话

获取的方式

命令响应:

<%
    Object cmdResponse = session.getAttribute("cmdResponse");
    MessageResponse messageResponse = (MessageResponse) cmdResponse;
%>

getMessage()方法是getter方法。这是MessageResponse类的代码

public class MessageResponse extends Response {
    String message;

public MessageResponse() {
    // TODO Auto-generated constructor stub
}

public MessageResponse(String command, String message) {
    super(command);
    this.message = message;
}


public String getMessage() {
    return message;
}

public void setMessage(String message) {
    this.message = message;
}

}

这就是我试图渲染的方式

<c:out value="${messageResponse.getMessage()}" />

但是上面的行没有呈现任何内容,也没有服务器上的错误。可能是什么问题?

1 个答案:

答案 0 :(得分:2)

如果要将messageResponse变量作为属性添加到request,则必须将其设置为request.setAttribute("messageResponse", messageResponse);

<c:out value="${cmdResponse.getMessage()}" />

或者您可以使用

session

当EL在request中找不到名称时,会尝试<c:out value="${messageResponse.message}" />

最后但并非最不重要的是,<c:out value="${cmdResponse.message}" />(或217.118.93.88#0111473674833.412#0114418687#011... 应该足够了,EL会自己调用相应的getter。