A
andymconline
Hello,
I'm hoping someone can help me. I am trying to use a map-entry to
store and display the status of an entity in the database. I have the
following managed-bean defined in my faces-config.xml file:
<managed-bean>
<managed-bean-name>RPHandler</managed-bean-name>
<managed-bean-class>com.sett.backing.RPHandler</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>ratePlan</property-name>
<value>#{ratePlanBean}</value>
</managed-property>
<managed-property>
<property-name>statusMap</property-name>
<property-class>java.util.HashMap</property-class>
<map-entries>
<map-entry>
<key>In Development</key>
<value>D</value>
</map-entry>
<map-entry>
<key>Active</key>
<value>A</value>
</map-entry>
<map-entry>
<key>Not For Sale</key>
<value>N</value>
</map-entry>
</map-entries>
</managed-property>
</managed-bean>
In my ratePlanForm.jsp file I have the following code to display a
SELECT box:
<h:selectOneMenu id="status" value="#{RPHandler.ratePlan.status}">
<f:selectItems value="#{RPHandler.statusMap}" />
<h:selectOneMenu>
Which creates the following HTML output:
<select id="status"><option value="D>In Development</option><option
value="A">Active</option><option value="N">Not For Sale</option></
select>
This is exactly what I want, however when I then try and show a list
of ratePlans and their associated status's I use:
<h
utputText value="#{RPHandler.statusMap[ratePlan.status]}" />
Which obviously shows nothing as ratePlan.status is set to the value
from the SELECT box ("A" for example) and their is no key equal to A
in the HashMap (as I have had to declare the HashMap with the
descriptions in the key field so that the selectItems JSF tag displays
the descriptions in the SELECT box). How to I get the outputText to
show the textual description of A? Do I need to declare two hashmaps?
Many Thanks
Andy
I'm hoping someone can help me. I am trying to use a map-entry to
store and display the status of an entity in the database. I have the
following managed-bean defined in my faces-config.xml file:
<managed-bean>
<managed-bean-name>RPHandler</managed-bean-name>
<managed-bean-class>com.sett.backing.RPHandler</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
<managed-property>
<property-name>ratePlan</property-name>
<value>#{ratePlanBean}</value>
</managed-property>
<managed-property>
<property-name>statusMap</property-name>
<property-class>java.util.HashMap</property-class>
<map-entries>
<map-entry>
<key>In Development</key>
<value>D</value>
</map-entry>
<map-entry>
<key>Active</key>
<value>A</value>
</map-entry>
<map-entry>
<key>Not For Sale</key>
<value>N</value>
</map-entry>
</map-entries>
</managed-property>
</managed-bean>
In my ratePlanForm.jsp file I have the following code to display a
SELECT box:
<h:selectOneMenu id="status" value="#{RPHandler.ratePlan.status}">
<f:selectItems value="#{RPHandler.statusMap}" />
<h:selectOneMenu>
Which creates the following HTML output:
<select id="status"><option value="D>In Development</option><option
value="A">Active</option><option value="N">Not For Sale</option></
select>
This is exactly what I want, however when I then try and show a list
of ratePlans and their associated status's I use:
<h
Which obviously shows nothing as ratePlan.status is set to the value
from the SELECT box ("A" for example) and their is no key equal to A
in the HashMap (as I have had to declare the HashMap with the
descriptions in the key field so that the selectItems JSF tag displays
the descriptions in the SELECT box). How to I get the outputText to
show the textual description of A? Do I need to declare two hashmaps?
Many Thanks
Andy