Code Guru
Code Guru

Reputation: 15578

how to call method in jstl jsp

This question can be duplicate and have lots of answers on StackOverflow.

But I still did not get what is the issue in my code.

There is an object stored in session that is cmdResponse of type MessageResponse class

This is how I am getting from session

Command Response :

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

There is getMessage() method that is getter method. Here is the code of 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;
}

}

and this is how I am trying to render

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

but above line renders nothing and no error on the server. What can be the issue ?

Upvotes: 0

Views: 5109

Answers (1)

Jozef Chocholacek
Jozef Chocholacek

Reputation: 2924

You have to put the messageResponse variable as an attribute to the request, if you want to make it accessible from EL.

request.setAttribute("messageResponse", messageResponse);

Or you can use

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

as EL tries the session when it does not find the name in request.

Last, but not least, <c:out value="${messageResponse.message}" /> (or <c:out value="${cmdResponse.message}" /> should be enough, EL calls the appropriate getter oh its own.

Upvotes: 3

Related Questions