java - 如何在jSTL jsp中调用方法

标签 java jsp jstl

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

但我仍然不明白我的代码中存在什么问题。

session 中存储了一个对象,该对象是 MessageResponse 类类型的 cmdResponse

这就是我从 session 中得到的信息

命令响应:

<%
    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()}" />

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

最佳答案

您必须输入 messageResponse变量作为 request 的属性,如果您想从 EL 访问它。

request.setAttribute("messageResponse", messageResponse);

或者你可以使用

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

当 EL 尝试 session 时当它在 request 中找不到该名称时。

最后但并非最不重要的一点是,<c:out value="${messageResponse.message}" /> (或者 <c:out value="${cmdResponse.message}" /> 应该足够了,EL 自己调用适当的 getter 哦。

关于java - 如何在jSTL jsp中调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39447592/

相关文章:

java - 通过 RMI 实现观察者模式

java - 使用 JSP 和 Spring 的 AJAX 搜索

java - 操作未收到表单的值

java - JSP 请求参数在传递给 javascript 函数后被 chop

java - 某种 JSTL 消息标签

java - Spring Data JPA 太慢

java - 使用 JNDI 将任何数据(条目)添加到 LDAP 服务器

java - 来自 Groovlet (Groovy Servlet) 的 JSP PageContext

jsp - JSTL如何连接值?

java - 不幸的是,程序名称已停止