Hi, 

 

For a single pair of radio buttons, e.g. "Yes" or "No" without localisation,
the following jsp code seems to be straight forward and will always come out
with true/false returned to the server (localised Yes or No can be received
on the server after user have made choice, but this is not the optimal
solution I want. I want always true/false or 1/0): 

 

<s:radio key="My choice" list="#{true:'Yes', false:'No'}" value="true" />

 

 

But: 

 

1.         I wan to localise the Yes and No with still true/false to come
out, I failed. I have tried: 

 

list="#{true:'<s:text name="yes"/>', false:'<s:text name="no"/>'}"

 

or 

 

list="#{true:'${yes}', false:'${no}'}"

list="#{true:%{#yes}, false:%{#no} }}"            etc

 

hoping to access the following getter in the action class:

 

            public String getYes(){

                        return getText("yes"); 

            }

            public String getNo(){

                        return getText("no"); 

            }          

 

(Can a Struts tag embedded in another Struts tag?)

 

2.         I also failed to set the list value from action class for the
given jsp code. This is what I have tried: 

 

Jsp code: 

 

<s:radio key="My choice" list="yesOrNoList" value="true" />

 

a.         getter method returns a (array) list:

 

public List<String> getYesOrNoList() { 

                                    String[] yesOrNoArray = {getText("yes"),
getText("no")};

            return Arrays.asList(yesOrNoArray);

}

 

b.         getter method returns a (map) list:

 

public List<Map> getYesOrNoList() {  

Map[] yesOrNoArray = {new HashMap(), new HashMap()};

            yesOrNoArray[0].put(true, getText("yes"));                  

            yesOrNoArray[1].put(false, getText("no"));                   

   return Arrays.asList(translateYesOrNoArray);

}

 

c.         getter method returns a collection:

 

public Collection<Map> getYesOrNoList() { 

            Map yesOrNoArray = new HashMap();//, new HashMap()};

yesOrNoArray.put(true, getText("yes"));                       

            yesOrNoArray.put(false, getText("no"));

            return yesOrNoArray.values();

}

 

 

None of them produced the ideal result for me. 

 

Could any one help please? Much appreciated. 

 

Qunhuan

Reply via email to