You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Yves Dessertine <yv...@gmail.com> on 2009/03/04 17:39:06 UTC
Problem with default value
Hello,
I'm having a problem with <html:select> from the struts taglib. The
default option is only selected in the first example (but all 3 lists
are created well in jsp page). I googled a lot, but could't find
similar problem.
My JSP page contains 3 selects:
==============================================================
1) Default value selected:
<html:select name="afficheStockIAD" property="extractIntegrator">
<html:options name="afficheStockIAD" property="listIntegratorNames" />
</html:select>
Generated output:
<select name="extractIntegrator"><option value="INT1">INT1</option>
<option value="INT2" selected="selected">INT2</option></select>
==============================================================
2) Default value not selected:
<html:select name="afficheStockIAD" property="extractYear">
<option value="<bean:write name="afficheStockIAD"
property="uberPreviousYear" />"><bean:write name="afficheStockIAD"
property="uberPreviousYear" /></option>
<option value="<bean:write name="afficheStockIAD"
property="previousYear" />"><bean:write name="afficheStockIAD"
property="previousYear" /></option>
<option value="<bean:write name="afficheStockIAD"
property="currentYear" />"><bean:write name="afficheStockIAD"
property="currentYear" /></option>
<option value="<bean:write name="afficheStockIAD"
property="nextYear" />"><bean:write name="afficheStockIAD"
property="nextYear" /></option>
<option value="<bean:write name="afficheStockIAD"
property="uberNextYear" />"><bean:write name="afficheStockIAD"
property="uberNextYear" /></option>
</html:select>
Generated output:
<select name="extractYear"><option value="2007">2007</option>
<option value="2008">2008</option>
<option value="2009">2009</option>
<option value="2010">2010</option>
<option value="2011">2011</option></select>
==============================================================
3) Default value not selected:
<html:select name="afficheStockIAD" property="extractMonth">
<option value="1">Janvier <bean:write name="afficheStockIAD"
property="currentYear" /></option>
<option value="2">Février <bean:write name="afficheStockIAD"
property="currentYear" /></option>
<option value="3">Mars <bean:write name="afficheStockIAD"
property="currentYear" /></option>
<option value="4">Avril <bean:write name="afficheStockIAD"
property="currentYear" /></option>
<option value="5">Mai <bean:write name="afficheStockIAD"
property="currentYear" /></option>
<option value="6">Juin <bean:write name="afficheStockIAD"
property="currentYear" /></option>
<option value="7">Juillet <bean:write name="afficheStockIAD"
property="currentYear" /></option>
<option value="8">Août <bean:write name="afficheStockIAD"
property="currentYear" /></option>
<option value="9">Septembre <bean:write name="afficheStockIAD"
property="currentYear" /></option>
<option value="10">Octobre <bean:write name="afficheStockIAD"
property="currentYear" /></option>
<option value="11">Novembre <bean:write name="afficheStockIAD"
property="currentYear" /></option>
<option value="12">Décembre <bean:write name="afficheStockIAD"
property="currentYear" /></option>
</html:select>
Generated output:
<select name="extractMonth"><option value="1">Janvier 2009</option>
<option value="2">Février 2009</option>
<option value="3">Mars 2009</option>
<option value="4">Avril 2009</option>
<option value="5">Mai 2009</option>
<option value="6">Juin 2009</option>
<option value="7">Juillet 2009</option>
<option value="8">Août 2009</option>
<option value="9">Septembre 2009</option>
<option value="10">Octobre 2009</option>
<option value="11">Novembre 2009</option>
<option value="12">Décembre 2009</option></select>
The afficheStockIAD.extractIntegrator, afficheStockIAD.extractYear and
afficheStockIAD.extractMonth are filled, and get transfered with the
formbean.
Formbean like this :
private String extractYear;
private String extractIntegrator;
private String extractMonth;
public String getExtractYear() {
return extractYear;
}
public void setExtractYear(String extractYear) {
this.extractYear = extractYear;
}
public String getExtractIntegrator() {
return extractIntegrator;
}
public void setExtractIntegrator(String extractIntegrator) {
this.extractIntegrator = extractIntegrator;
}
public String getExtractMonth() {
return extractMonth;
}
public void setExtractMonth(String extractMonth) {
this.extractMonth = extractMonth;
}
Help, if any ideas.
Regards,
Yves
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: Problem with default value
Posted by Dave Newton <ne...@yahoo.com>.
Yves Dessertine wrote:
> Yeah, thanks a lot Benjamin!
>
> I did *basically* what you told (building a Collection of
> LabelValueBean, but I did this in an action -- same result: it works
> :)).
>
> But I still don't understand why selecting default values hadn't
> worked when building a list of option with individual <html:option />
> tags in jsp page. Do you have an idea? Just for my culture.
Because Struts had nothing to do with creating the <option> elements.
The <html:select> tag doesn't retroactively examine the DOM to figure
out which item (if any) should be selected, it performs that logic while
creating the option elements.
Dave
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: Problem with default value
Posted by Yves Dessertine <yv...@gmail.com>.
Yeah, thanks a lot Benjamin!
I did *basically* what you told (building a Collection of
LabelValueBean, but I did this in an action -- same result: it works
:)).
But I still don't understand why selecting default values hadn't
worked when building a list of option with individual <html:option />
tags in jsp page. Do you have an idea? Just for my culture.
Regards,
Yves
2009/3/4 benjamin haimerl <b-...@gmx.de>:
> hi i would use
> html:optionsCollection if you want to use the "selected=selected" feature
>
> form.jsp:
> <%@ page language="java" pageEncoding="UTF-8"%>
> <%@page import="java.util.ArrayList"%>
> <%@page import="java.util.Collection"%>
> <%@page import="java.util.Vector"%>
> <%@page import="org.apache.struts.util.LabelValueBean"%>
> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
>
> <html>
> <head>
> <title>JSP for TestNameForm form</title>
> </head>
> <body>
> <%
> Collection myList = new Vector();
> for(int i=0;i<20;i++) {
> myList.add(new LabelValueBean("label"+i, i+"value"));
> }
> pageContext.setAttribute("myList", myList);
> %>
> <html:form action="/testName">
> name : <html:select property="name" *value="3value"*>
> <html:optionsCollection name="myList" value="value"
> label="label"/>
> </html:select>
> <html:submit/><html:cancel/>
> </html:form>
> </body>
> </html>
>
> *HTML-Output:*
>
> <html> <head>
> <title>JSP for TestNameForm form</title>
> </head>
> <body>
>
> <form name="testNameForm" method="post"
> action="/Test/testName.do">
>
> name : <select name="name"><option
> value="0value">label0</option>
> <option value="1value">label1</option>
> <option value="2value">label2</option>
> <option value="3value" selected="selected">label3</option>
> <option value="4value">label4</option>
> <option value="5value">label5</option>
> <option value="6value">label6</option>
> <option value="7value">label7</option>
>
> <option value="8value">label8</option>
> <option value="9value">label9</option>
> <option value="10value">label10</option>
> <option value="11value">label11</option>
> <option value="12value">label12</option>
> <option value="13value">label13</option>
> <option value="14value">label14</option>
> <option value="15value">label15</option>
> <option value="16value">label16</option>
>
> <option value="17value">label17</option>
> <option value="18value">label18</option>
> <option value="19value">label19</option></select>
> <input type="submit" value="Submit"><input
> type="submit" name="org.apache.struts.taglib.html.CANCEL" value="Cancel"
> onclick="bCancel=true;">
> </form>
> </body>
> </html>
>
> so its possible to set the default value by the 'value=""' attribute of the
> html:select tag
> <html:select property="name" *value="3value"*> ...of course the value must
> match to any of your existing
> values... otherwise the first option will be selected by default
>
>
> I hope this was helpfull
> Benny
>
>
> Yves Dessertine wrote:
>>
>> Hello,
>>
>> I'm having a problem with <html:select> from the struts taglib. The
>> default option is only selected in the first example (but all 3 lists
>> are created well in jsp page). I googled a lot, but could't find
>> similar problem.
>>
>> My JSP page contains 3 selects:
>>
>> ==============================================================
>> 1) Default value selected:
>>
>> <html:select name="afficheStockIAD" property="extractIntegrator">
>> <html:options name="afficheStockIAD"
>> property="listIntegratorNames" />
>> </html:select>
>>
>> Generated output:
>> <select name="extractIntegrator"><option value="INT1">INT1</option>
>> <option value="INT2" selected="selected">INT2</option></select>
>>
>>
>>
>> ==============================================================
>> 2) Default value not selected:
>>
>> <html:select name="afficheStockIAD" property="extractYear">
>> <option value="<bean:write name="afficheStockIAD"
>> property="uberPreviousYear" />"><bean:write name="afficheStockIAD"
>> property="uberPreviousYear" /></option>
>> <option value="<bean:write name="afficheStockIAD"
>> property="previousYear" />"><bean:write name="afficheStockIAD"
>> property="previousYear" /></option>
>> <option value="<bean:write name="afficheStockIAD"
>> property="currentYear" />"><bean:write name="afficheStockIAD"
>> property="currentYear" /></option>
>> <option value="<bean:write name="afficheStockIAD"
>> property="nextYear" />"><bean:write name="afficheStockIAD"
>> property="nextYear" /></option>
>> <option value="<bean:write name="afficheStockIAD"
>> property="uberNextYear" />"><bean:write name="afficheStockIAD"
>> property="uberNextYear" /></option>
>> </html:select>
>>
>>
>> Generated output:
>> <select name="extractYear"><option value="2007">2007</option>
>> <option value="2008">2008</option>
>> <option value="2009">2009</option>
>> <option value="2010">2010</option>
>> <option value="2011">2011</option></select>
>>
>> ==============================================================
>> 3) Default value not selected:
>> <html:select name="afficheStockIAD" property="extractMonth">
>> <option value="1">Janvier <bean:write
>> name="afficheStockIAD"
>> property="currentYear" /></option>
>> <option value="2">Février <bean:write
>> name="afficheStockIAD"
>> property="currentYear" /></option>
>> <option value="3">Mars <bean:write name="afficheStockIAD"
>> property="currentYear" /></option>
>> <option value="4">Avril <bean:write name="afficheStockIAD"
>> property="currentYear" /></option>
>> <option value="5">Mai <bean:write name="afficheStockIAD"
>> property="currentYear" /></option>
>> <option value="6">Juin <bean:write name="afficheStockIAD"
>> property="currentYear" /></option>
>> <option value="7">Juillet <bean:write
>> name="afficheStockIAD"
>> property="currentYear" /></option>
>> <option value="8">Août <bean:write name="afficheStockIAD"
>> property="currentYear" /></option>
>> <option value="9">Septembre <bean:write
>> name="afficheStockIAD"
>> property="currentYear" /></option>
>> <option value="10">Octobre <bean:write
>> name="afficheStockIAD"
>> property="currentYear" /></option>
>> <option value="11">Novembre <bean:write
>> name="afficheStockIAD"
>> property="currentYear" /></option>
>> <option value="12">Décembre <bean:write
>> name="afficheStockIAD"
>> property="currentYear" /></option>
>> </html:select>
>>
>> Generated output:
>> <select name="extractMonth"><option value="1">Janvier 2009</option>
>> <option value="2">Février 2009</option>
>> <option value="3">Mars 2009</option>
>> <option value="4">Avril 2009</option>
>> <option value="5">Mai 2009</option>
>> <option value="6">Juin 2009</option>
>> <option value="7">Juillet 2009</option>
>> <option value="8">Août 2009</option>
>> <option value="9">Septembre 2009</option>
>> <option value="10">Octobre 2009</option>
>> <option value="11">Novembre 2009</option>
>> <option value="12">Décembre 2009</option></select>
>>
>>
>>
>>
>> The afficheStockIAD.extractIntegrator, afficheStockIAD.extractYear and
>> afficheStockIAD.extractMonth are filled, and get transfered with the
>> formbean.
>>
>> Formbean like this :
>> private String extractYear;
>> private String extractIntegrator;
>> private String extractMonth;
>>
>> public String getExtractYear() {
>> return extractYear;
>> }
>>
>> public void setExtractYear(String extractYear) {
>> this.extractYear = extractYear;
>> }
>>
>> public String getExtractIntegrator() {
>> return extractIntegrator;
>> }
>>
>> public void setExtractIntegrator(String extractIntegrator) {
>> this.extractIntegrator = extractIntegrator;
>> }
>>
>> public String getExtractMonth() {
>> return extractMonth;
>> }
>>
>> public void setExtractMonth(String extractMonth) {
>> this.extractMonth = extractMonth;
>> }
>>
>>
>> Help, if any ideas.
>>
>>
>> Regards,
>>
>>
>> Yves
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: Problem with default value
Posted by benjamin haimerl <b-...@gmx.de>.
hi i would use
html:optionsCollection if you want to use the "selected=selected" feature
form.jsp:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.Collection"%>
<%@page import="java.util.Vector"%>
<%@page import="org.apache.struts.util.LabelValueBean"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html>
<head>
<title>JSP for TestNameForm form</title>
</head>
<body>
<%
Collection myList = new Vector();
for(int i=0;i<20;i++) {
myList.add(new LabelValueBean("label"+i, i+"value"));
}
pageContext.setAttribute("myList", myList);
%>
<html:form action="/testName">
name : <html:select property="name" *value="3value"*>
<html:optionsCollection name="myList" value="value"
label="label"/>
</html:select>
<html:submit/><html:cancel/>
</html:form>
</body>
</html>
*HTML-Output:*
<html>
<head>
<title>JSP for TestNameForm form</title>
</head>
<body>
<form name="testNameForm" method="post" action="/Test/testName.do">
name : <select name="name"><option value="0value">label0</option>
<option value="1value">label1</option>
<option value="2value">label2</option>
<option value="3value" selected="selected">label3</option>
<option value="4value">label4</option>
<option value="5value">label5</option>
<option value="6value">label6</option>
<option value="7value">label7</option>
<option value="8value">label8</option>
<option value="9value">label9</option>
<option value="10value">label10</option>
<option value="11value">label11</option>
<option value="12value">label12</option>
<option value="13value">label13</option>
<option value="14value">label14</option>
<option value="15value">label15</option>
<option value="16value">label16</option>
<option value="17value">label17</option>
<option value="18value">label18</option>
<option value="19value">label19</option></select>
<input type="submit" value="Submit"><input type="submit" name="org.apache.struts.taglib.html.CANCEL" value="Cancel" onclick="bCancel=true;">
</form>
</body>
</html>
so its possible to set the default value by the 'value=""' attribute of the html:select tag
<html:select property="name" *value="3value"*> ...of course the value must match to any of your existing
values... otherwise the first option will be selected by default
I hope this was helpfull
Benny
Yves Dessertine wrote:
> Hello,
>
> I'm having a problem with <html:select> from the struts taglib. The
> default option is only selected in the first example (but all 3 lists
> are created well in jsp page). I googled a lot, but could't find
> similar problem.
>
> My JSP page contains 3 selects:
>
> ==============================================================
> 1) Default value selected:
>
> <html:select name="afficheStockIAD" property="extractIntegrator">
> <html:options name="afficheStockIAD" property="listIntegratorNames" />
> </html:select>
>
> Generated output:
> <select name="extractIntegrator"><option value="INT1">INT1</option>
> <option value="INT2" selected="selected">INT2</option></select>
>
>
>
> ==============================================================
> 2) Default value not selected:
>
> <html:select name="afficheStockIAD" property="extractYear">
> <option value="<bean:write name="afficheStockIAD"
> property="uberPreviousYear" />"><bean:write name="afficheStockIAD"
> property="uberPreviousYear" /></option>
> <option value="<bean:write name="afficheStockIAD"
> property="previousYear" />"><bean:write name="afficheStockIAD"
> property="previousYear" /></option>
> <option value="<bean:write name="afficheStockIAD"
> property="currentYear" />"><bean:write name="afficheStockIAD"
> property="currentYear" /></option>
> <option value="<bean:write name="afficheStockIAD"
> property="nextYear" />"><bean:write name="afficheStockIAD"
> property="nextYear" /></option>
> <option value="<bean:write name="afficheStockIAD"
> property="uberNextYear" />"><bean:write name="afficheStockIAD"
> property="uberNextYear" /></option>
> </html:select>
>
>
> Generated output:
> <select name="extractYear"><option value="2007">2007</option>
> <option value="2008">2008</option>
> <option value="2009">2009</option>
> <option value="2010">2010</option>
> <option value="2011">2011</option></select>
>
> ==============================================================
> 3) Default value not selected:
> <html:select name="afficheStockIAD" property="extractMonth">
> <option value="1">Janvier <bean:write name="afficheStockIAD"
> property="currentYear" /></option>
> <option value="2">Février <bean:write name="afficheStockIAD"
> property="currentYear" /></option>
> <option value="3">Mars <bean:write name="afficheStockIAD"
> property="currentYear" /></option>
> <option value="4">Avril <bean:write name="afficheStockIAD"
> property="currentYear" /></option>
> <option value="5">Mai <bean:write name="afficheStockIAD"
> property="currentYear" /></option>
> <option value="6">Juin <bean:write name="afficheStockIAD"
> property="currentYear" /></option>
> <option value="7">Juillet <bean:write name="afficheStockIAD"
> property="currentYear" /></option>
> <option value="8">Août <bean:write name="afficheStockIAD"
> property="currentYear" /></option>
> <option value="9">Septembre <bean:write name="afficheStockIAD"
> property="currentYear" /></option>
> <option value="10">Octobre <bean:write name="afficheStockIAD"
> property="currentYear" /></option>
> <option value="11">Novembre <bean:write name="afficheStockIAD"
> property="currentYear" /></option>
> <option value="12">Décembre <bean:write name="afficheStockIAD"
> property="currentYear" /></option>
> </html:select>
>
> Generated output:
> <select name="extractMonth"><option value="1">Janvier 2009</option>
> <option value="2">Février 2009</option>
> <option value="3">Mars 2009</option>
> <option value="4">Avril 2009</option>
> <option value="5">Mai 2009</option>
> <option value="6">Juin 2009</option>
> <option value="7">Juillet 2009</option>
> <option value="8">Août 2009</option>
> <option value="9">Septembre 2009</option>
> <option value="10">Octobre 2009</option>
> <option value="11">Novembre 2009</option>
> <option value="12">Décembre 2009</option></select>
>
>
>
>
> The afficheStockIAD.extractIntegrator, afficheStockIAD.extractYear and
> afficheStockIAD.extractMonth are filled, and get transfered with the
> formbean.
>
> Formbean like this :
> private String extractYear;
> private String extractIntegrator;
> private String extractMonth;
>
> public String getExtractYear() {
> return extractYear;
> }
>
> public void setExtractYear(String extractYear) {
> this.extractYear = extractYear;
> }
>
> public String getExtractIntegrator() {
> return extractIntegrator;
> }
>
> public void setExtractIntegrator(String extractIntegrator) {
> this.extractIntegrator = extractIntegrator;
> }
>
> public String getExtractMonth() {
> return extractMonth;
> }
>
> public void setExtractMonth(String extractMonth) {
> this.extractMonth = extractMonth;
> }
>
>
> Help, if any ideas.
>
>
> Regards,
>
>
> Yves
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org