如何在 jstl 中调用方法 jsp
how to call method in jstl jsp
这个问题可能是重复的,并且在 Whosebug 上有很多答案。
但我仍然没有明白我的代码中有什么问题。
会话中存储了一个对象,它是 MessageResponse 类型的 cmdResponse class
这就是我从会话中得到的结果
命令响应:
<%
Object cmdResponse = session.getAttribute("cmdResponse");
MessageResponse messageResponse = (MessageResponse) cmdResponse;
%>
getMessage() 方法是 getter 方法。这是 MessageResponse class
的代码
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()}" />
但上面的行在服务器上没有呈现任何内容也没有错误。可能是什么问题?
如果要从 EL 访问它,则必须将 messageResponse
变量作为 request
的属性。
request.setAttribute("messageResponse", messageResponse);
或者您可以使用
<c:out value="${cmdResponse.getMessage()}" />
因为 EL 在 request
中找不到名称时会尝试 session
。
最后,但同样重要的是,<c:out value="${messageResponse.message}" />
(或者<c:out value="${cmdResponse.message}" />
应该足够了,EL调用适当的getter哦它自己。
这个问题可能是重复的,并且在 Whosebug 上有很多答案。
但我仍然没有明白我的代码中有什么问题。
会话中存储了一个对象,它是 MessageResponse 类型的 cmdResponse class
这就是我从会话中得到的结果
命令响应:
<%
Object cmdResponse = session.getAttribute("cmdResponse");
MessageResponse messageResponse = (MessageResponse) cmdResponse;
%>
getMessage() 方法是 getter 方法。这是 MessageResponse class
的代码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()}" />
但上面的行在服务器上没有呈现任何内容也没有错误。可能是什么问题?
如果要从 EL 访问它,则必须将 messageResponse
变量作为 request
的属性。
request.setAttribute("messageResponse", messageResponse);
或者您可以使用
<c:out value="${cmdResponse.getMessage()}" />
因为 EL 在 request
中找不到名称时会尝试 session
。
最后,但同样重要的是,<c:out value="${messageResponse.message}" />
(或者<c:out value="${cmdResponse.message}" />
应该足够了,EL调用适当的getter哦它自己。