Madrugada
Madrugada

Reputation: 1289

Struts2: values from action are not seen in jsp, but they are seen in the javascript code from jsp

In action I have a variable which has getter on it.

private String myActionVariable = "predefined....";
public String getMyActionVariable () {
    return myActionVariable;
}

In jsp, I try to use my variable in this way:

<input type="button" class="styledButton" 
       onclick="javascript: doAjax('myActionName',false);" 
       value="${myActionVariable}"

But it is not shown. However, if I output this variable from the javascript code included within the same jsp file:

alert (${myActionVariable})

I will get the value of it....

Any idea please ? ...

Upvotes: 0

Views: 1008

Answers (2)

Ash
Ash

Reputation: 1649

You should be using struts2 tag.

<input type="button" class="styledButton" onclick="javascript: doAjax('myActionName',false);" value="${myActionVariable}">

Instead of this, use

<s:submit type="button" cssClass="styledButton" onClick="javascript: doAjax('myActionName',false);" value= "myActionVariable" />

Upvotes: 1

Andrea Ligios
Andrea Ligios

Reputation: 50203

You can use a Standard <input/> HTML Tag with an <s:property /> Struts2 Tag for the value, like this:

<input type="button" class="styledButton" 
       onclick="javascript:doAjax('myActionName',false);" 
       value="<s:property value="%{myActionVariable}"/>"/>

or a Struts2 Tag directly like this:

<s:submit type="button" cssClass="styledButton" 
          onclick="javascript: doAjax('myActionName',false);" 
          value="%{myActionVariable}" />

Note that with Struts2 Tag, class attribute becomes cssClass (and style becomes cssStyle), and that %{} is the right OGNL syntax, instead of ${} (that is JSTL syntax)


EDIT: when using Struts2, forget about JSTL, you won't need them anymore.

Upvotes: 1

Related Questions