You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by David Heffelfinger <dh...@ensode.net> on 2007/11/17 21:49:52 UTC
[Trinidad] and autoSubmit
Hello,
Before describing my problem, I need to disclose that I am new to Trinidad,
therefore it is entirely possible I am missing something obvious.
Not sure if it matters, I am using Trinidad 1.2.3, deploying on GlassFish 2.
I am trying to update the options in one <tr:selectOneOption> when the value
of another <tr:selectOneOption> changes. Based on what I read at
http://myfaces.apache.org/trinidad/devguide/ppr.html#autoSubmit, this should
be fairly simple:
set autoSubmit="true" on the first <tr:selectOneOption>, bind its
valueChangeListener property to a method to be executed when the value of
the component changes, and set the partialTriggers property of the second
<tr:selectOneOption> to the id of the first one.
I attempted this procedure to no avail, I don't think the first
<tr:selectOneOption> is triggering a partial submit at all. I Googled around
and found some example code in the archives for this list:
http://www.mail-archive.com/users@myfaces.apache.org/msg43646.html
The code shown in this message was very similar to what I had, but since
mine wasn't working and this one allegedly was, I pretty much copied and
pasted both the JSP and the backing bean code, but unfortunately it still
didn't work.
My JSP looks like this:
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:tr="http://myfaces.apache.org/trinidad "
xmlns:trh="http://myfaces.apache.org/trinidad/html">
<f:view>
<tr:document id="document1">
<tr:form id="form1">
<tr:panelFormLayout id="panelFormLayout1">
<tr:selectOneChoice label="Select one:"
required="true"
requiredMessageDetail="You must select one"
unselectedLabel="Select one..."
value="#{testBean.firstSelection}"
readOnly="false"
valueChangeListener="#{
testBean.selectionChange}"
autoSubmit="true"
id="firstSelection"
immediate="true">
<f:selectItems value="#{testBean.firstList}" id="selectItems1"
/>
</tr:selectOneChoice>
<tr:selectOneChoice id="selectOneChoice2"
label="Select:"
unselectedLabel="Select another one..."
value="#{testBean.secondSelection}"
rendered="true"
partialTriggers="firstSelection">
<f:selectItems value="#{testBean.secondList}" id="selectItems2"
/>
</tr:selectOneChoice>
</tr:panelFormLayout>
</tr:form>
</tr:document>
</f:view>
</jsp:root>
and the backing bean looks like this (package, imports, getters and setter
ommited):
public class Foo
{
private String firstSelection;
private String secondSelection;
private List<SelectItem> secondList;
public void selectionChange(ValueChangeEvent event)
{
String value = (String) event.getNewValue();
if (value.equals("a"))
{
secondList = Arrays.asList(new SelectItem("apple"));
}
else if (value.equals("b"))
{
secondList = Arrays.asList(new SelectItem("blue"));
}
}
After packaging and deploying, I change the value of the first
<tr:selectOneChoice>, but the options of the second one don't change. Can
someone please point out what am I doing wrong?
I have attached a zip file containing the whole project, buildable with
Maven, in case someone wants to try it out.
Thanks in advance for any help.
David
--
http://ensode.net - A Guide to Java, Linux and Other Technology Topics
http://java-ee-5-glassfish.packtpub.com/ - Java EE 5 Development Using
GlassFish Application Server
http://jasperreportsbook.packtpub.com - JasperReports For Java Developers
Re: [Trinidad] and autoSubmit
Posted by David Heffelfinger <dh...@ensode.net>.
Thanks for the tip. In any case, I solved the issue.
The problem was that I was missing the following line from my JSP:
<jsp:directive.page contentType="text/html;charset=utf-8" />
Once I added that line PPR started working.
David
On Nov 19, 2007 8:49 AM, Luka Surija < luka.surija@iytim.hr> wrote:
> immediate="true" causes lot of troubles.
>
>
> David Heffelfinger wrote:
> > Hello,
> >
> > Before describing my problem, I need to disclose that I am new to
> > Trinidad, therefore it is entirely possible I am missing something
> > obvious.
> >
> > Not sure if it matters, I am using Trinidad 1.2.3, deploying on
> > GlassFish 2.
> >
> > I am trying to update the options in one <tr:selectOneOption> when the
> > value of another <tr:selectOneOption> changes. Based on what I read at
> > http://myfaces.apache.org/trinidad/devguide/ppr.html#autoSubmit, this
> > should be fairly simple:
> > set autoSubmit="true" on the first <tr:selectOneOption>, bind its
> > valueChangeListener property to a method to be executed when the value
> > of the component changes, and set the partialTriggers property of the
> > second <tr:selectOneOption> to the id of the first one.
> >
> > I attempted this procedure to no avail, I don't think the first
> > <tr:selectOneOption> is triggering a partial submit at all. I Googled
> > around and found some example code in the archives for this list:
> > http://www.mail-archive.com/users@myfaces.apache.org/msg43646.html
> >
> > The code shown in this message was very similar to what I had, but
> > since mine wasn't working and this one allegedly was, I pretty much
> > copied and pasted both the JSP and the backing bean code, but
> > unfortunately it still didn't work.
> >
> > My JSP looks like this:
> >
> > <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
> > xmlns:f=" http://java.sun.com/jsf/core"
> > xmlns:h="http://java.sun.com/jsf/html" xmlns:tr="
> > http://myfaces.apache.org/trinidad
> > <http://myfaces.apache.org/trinidad>"
> > xmlns:trh=" http://myfaces.apache.org/trinidad/html">
> > <f:view>
> > <tr:document id="document1">
> > <tr:form id="form1">
> > <tr:panelFormLayout id="panelFormLayout1">
> > <tr:selectOneChoice label="Select one:"
> > required="true"
> > requiredMessageDetail="You must select
> one"
> > unselectedLabel="Select one..."
> > value="#{testBean.firstSelection}"
> > readOnly="false"
> > valueChangeListener="#{
> > testBean.selectionChange}"
> > autoSubmit="true"
> > id="firstSelection"
> > immediate="true">
> > <f:selectItems value="#{testBean.firstList}"
> > id="selectItems1" />
> > </tr:selectOneChoice>
> >
> > <tr:selectOneChoice id="selectOneChoice2"
> > label="Select:"
> > unselectedLabel="Select another one..."
> > value="#{testBean.secondSelection}"
> > rendered="true"
> > partialTriggers="firstSelection">
> > <f:selectItems value="#{testBean.secondList}"
> > id="selectItems2" />
> > </tr:selectOneChoice>
> > </tr:panelFormLayout>
> > </tr:form>
> > </tr:document>
> > </f:view>
> > </jsp:root>
> >
> > and the backing bean looks like this (package, imports, getters and
> > setter ommited):
> >
> > public class Foo
> > {
> > private String firstSelection;
> > private String secondSelection;
> > private List<SelectItem> secondList;
> >
> > public void selectionChange(ValueChangeEvent event)
> > {
> > String value = (String) event.getNewValue();
> > if (value.equals("a"))
> > {
> > secondList = Arrays.asList(new SelectItem("apple"));
> > }
> > else if ( value.equals("b"))
> > {
> > secondList = Arrays.asList(new SelectItem("blue"));
> > }
> > }
> >
> > After packaging and deploying, I change the value of the first
> > <tr:selectOneChoice>, but the options of the second one don't change.
> > Can someone please point out what am I doing wrong?
> >
> > I have attached a zip file containing the whole project, buildable
> > with Maven, in case someone wants to try it out.
> >
> > Thanks in advance for any help.
> >
> > David
> > --
> > http://ensode.net - A Guide to Java, Linux and Other Technology Topics
> > http://java-ee-5-glassfish.packtpub.com/ - Java EE 5 Development Using
> > GlassFish Application Server
> > http://jasperreportsbook.packtpub.com - JasperReports For Java
> Developers
>
>
--
http://ensode.net - A Guide to Java, Linux and Other Technology Topics
http://java-ee-5-glassfish.packtpub.com/ - Java EE 5 Development Using
GlassFish Application Server
http://jasperreportsbook.packtpub.com - JasperReports For Java Developers
Re: [Trinidad] and autoSubmit
Posted by Luka Surija <lu...@iytim.hr>.
immediate="true" causes lot of troubles.
David Heffelfinger wrote:
> Hello,
>
> Before describing my problem, I need to disclose that I am new to
> Trinidad, therefore it is entirely possible I am missing something
> obvious.
>
> Not sure if it matters, I am using Trinidad 1.2.3, deploying on
> GlassFish 2.
>
> I am trying to update the options in one <tr:selectOneOption> when the
> value of another <tr:selectOneOption> changes. Based on what I read at
> http://myfaces.apache.org/trinidad/devguide/ppr.html#autoSubmit, this
> should be fairly simple:
> set autoSubmit="true" on the first <tr:selectOneOption>, bind its
> valueChangeListener property to a method to be executed when the value
> of the component changes, and set the partialTriggers property of the
> second <tr:selectOneOption> to the id of the first one.
>
> I attempted this procedure to no avail, I don't think the first
> <tr:selectOneOption> is triggering a partial submit at all. I Googled
> around and found some example code in the archives for this list:
> http://www.mail-archive.com/users@myfaces.apache.org/msg43646.html
>
> The code shown in this message was very similar to what I had, but
> since mine wasn't working and this one allegedly was, I pretty much
> copied and pasted both the JSP and the backing bean code, but
> unfortunately it still didn't work.
>
> My JSP looks like this:
>
> <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
> xmlns:f=" http://java.sun.com/jsf/core"
> xmlns:h="http://java.sun.com/jsf/html" xmlns:tr="
> http://myfaces.apache.org/trinidad
> <http://myfaces.apache.org/trinidad>"
> xmlns:trh="http://myfaces.apache.org/trinidad/html">
> <f:view>
> <tr:document id="document1">
> <tr:form id="form1">
> <tr:panelFormLayout id="panelFormLayout1">
> <tr:selectOneChoice label="Select one:"
> required="true"
> requiredMessageDetail="You must select one"
> unselectedLabel="Select one..."
> value="#{testBean.firstSelection}"
> readOnly="false"
> valueChangeListener="#{
> testBean.selectionChange}"
> autoSubmit="true"
> id="firstSelection"
> immediate="true">
> <f:selectItems value="#{testBean.firstList}"
> id="selectItems1" />
> </tr:selectOneChoice>
>
> <tr:selectOneChoice id="selectOneChoice2"
> label="Select:"
> unselectedLabel="Select another one..."
> value="#{testBean.secondSelection}"
> rendered="true"
> partialTriggers="firstSelection">
> <f:selectItems value="#{testBean.secondList}"
> id="selectItems2" />
> </tr:selectOneChoice>
> </tr:panelFormLayout>
> </tr:form>
> </tr:document>
> </f:view>
> </jsp:root>
>
> and the backing bean looks like this (package, imports, getters and
> setter ommited):
>
> public class Foo
> {
> private String firstSelection;
> private String secondSelection;
> private List<SelectItem> secondList;
>
> public void selectionChange(ValueChangeEvent event)
> {
> String value = (String) event.getNewValue();
> if (value.equals("a"))
> {
> secondList = Arrays.asList(new SelectItem("apple"));
> }
> else if (value.equals("b"))
> {
> secondList = Arrays.asList(new SelectItem("blue"));
> }
> }
>
> After packaging and deploying, I change the value of the first
> <tr:selectOneChoice>, but the options of the second one don't change.
> Can someone please point out what am I doing wrong?
>
> I have attached a zip file containing the whole project, buildable
> with Maven, in case someone wants to try it out.
>
> Thanks in advance for any help.
>
> David
> --
> http://ensode.net - A Guide to Java, Linux and Other Technology Topics
> http://java-ee-5-glassfish.packtpub.com/ - Java EE 5 Development Using
> GlassFish Application Server
> http://jasperreportsbook.packtpub.com - JasperReports For Java Developers