[jboss-user] [JBoss Seam] - Re: Exadel, JBoss and Seam
tony.herstell@gmail.com
do-not-reply at jboss.com
Mon Mar 5 18:35:19 EST 2007
Please tell us what to add, where, to get RichFaces to work with Seam.
With IceFaces it was a case of just dropping jars into EAR and updating the META-INF/application.xml
| <!-- Icefaces -->
| <module>
| <java>icefaces.jar</java>
| </module>
|
| <module>
| <java>icefaces-comps.jar</java>
| </module>
|
| <module>
| <java>el-api.jar</java>
| </module>
|
| <module>
| <java>el-ri.jar</java>
| </module>
|
| <module>
| <java>icefaces-facelets.jar</java>
| </module>
|
| <module>
| <java>commons-fileupload.jar</java>
| </module>
|
Referencing the above jars into the War (as remote jars)
| icefaces.jar, icefaces-comps.jar and icefaces-facelets.jar
|
Lobbing in the icefaces-component.tld in the WEB-INF (for some reason I haven't fathomed yet)
Referencing icefaces in the .xhtml pages
| xmlns:ice="http://www.icesoft.com/icefaces/component"
|
Adding the backing bean support
| /*
| * GUI Support methods
| */
|
| public String applyFilter() {
| log.info("> applyFilter");
| /*
| * Set the model to to the results returned from the constraints
| */
| log.info("Finding all the required organisations returned from the constraints" + organisation);
| applyQueryBasedOnSearchCriteria();
| log.info("< applyFilter");
| return null;
| }
|
| /**
| * The panel stack is controlled by a group of radio buttons and their state
| * changes call this method to register the newly selected panel.
| *
| * @param event
| * new value of event contains the new selected panel name.
| */
| public void selectedSearchCriteriaPanelChanged(ValueChangeEvent event) {
| log.info("> selectedSearchCriteriaPanelChanged");
| log.info("applyingSearchCriteriaChange (All/Filtered)");
| if (event.getNewValue() != null) {
| selectedSearchCriteriaPanel = event.getNewValue().toString();
| log.info(selectedSearchCriteriaPanel + " selected");
| if (selectedSearchCriteriaPanel.equals(ALL_OPTION)) {
| applyAllQuery();
| } else {
| applyQueryBasedOnSearchCriteria();
| }
| } else {
| log.info("null new event passed in. Error!");
| }
| log.info("< selectedSearchCriteriaPanelChanged");
| }
|
|
| private void sort() {
| Comparator organisationComparator = new Comparator() {
|
| public int compare(Object o1, Object o2) {
| Organisation organisation1 = (Organisation)o1;
| Organisation organisation2 = (Organisation)o2;
|
| if (sortColumn == null) {
| return 0;
| }
|
| if (sortColumn.equals(messages.get("column_title_name"))) {
| // Surname
| if (!ascending) {
| return (organisation1.getName().compareTo(organisation2.getName()));
| } else {
| return (organisation2.getName().compareTo(organisation1.getName()));
| }
| } else if (sortColumn.equals(messages.get("column_title_physical"))) {
| // Firstname
| if (ascending) {
| if (organisation1.getPhysical() == true && organisation2.getPhysical() == false) {
| return 1;
| } else if (organisation1.getPhysical() == organisation2.getPhysical()) {
| return 0;
| } else if (organisation1.getPhysical() == false && organisation2.getPhysical() == true) {
| return -1;
| }
| } else {
| if (organisation2.getPhysical() == true && organisation1.getPhysical() == false) {
| return 1;
| } else if (organisation2.getPhysical() == organisation1.getPhysical()) {
| return 0;
| } else if (organisation2.getPhysical() == false && organisation1.getPhysical() == true) {
| return -1;
| }
| }
| } else if (sortColumn.equals(messages.get("column_title_creation_date"))) {
| // Creation Date
| if (ascending) {
| return (organisation1.getDates().getCreationDate().compareTo(organisation2.getDates().getCreationDate()));
| } else {
| return (organisation2.getDates().getCreationDate().compareTo(organisation1.getDates().getCreationDate()));
| }
| }
| return 0;
| }
| };
|
| if (organisations != null) {
| Arrays.sort(organisations, organisationComparator);
| }
| }
|
|
Some "intersting" xml in web.xml page.
| <context-param>
| <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
| <param-value>client</param-value>
| </context-param>
|
| <context-param>
| <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
| <param-value>.xhtml</param-value>
| </context-param>
|
| <context-param>
| <param-name>facelets.DEVELOPMENT</param-name>
| <param-value>true</param-value>
| </context-param>
|
| <context-param>
| <param-name>com.icesoft.faces.actionURLSuffix</param-name>
| <param-value>.seam</param-value>
| </context-param>
|
| <context-param>
| <param-name>com.icesoft.faces.synchronousUpdate</param-name>
| <param-value>true</param-value>
| </context-param>
|
| <servlet>
| <servlet-name>Faces Servlet</servlet-name>
| <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
| <load-on-startup>1</load-on-startup>
| </servlet>
|
| <!-- Added as trail from http://support.icesoft.com/jive/servlet/KbServlet/download/623-102-847/SeamKBArticle.txt
| <context-param>
| <param-name>com.icesoft.faces.doJSFStateManagement</param-name>
| <param-value>true</param-value>
| </context-param>
| -->
|
| <!-- Faces Servlet Mapping -->
| <!--
| <servlet-mapping>
| <servlet-name>Faces Servlet</servlet-name>
| <url-pattern>*.seam</url-pattern>
| </servlet-mapping>
|
| -->
|
| <servlet>
| <servlet-name>Blocking Servlet</servlet-name>
| <servlet-class>com.icesoft.faces.webapp.xmlhttp.BlockingServlet</servlet-class>
| <load-on-startup> 1 </load-on-startup>
| </servlet>
|
| <servlet>
| <servlet-name>Persistent Faces Servlet</servlet-name>
| <servlet-class>com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet</servlet-class>
| <load-on-startup>1</load-on-startup>
| </servlet>
|
| <servlet-mapping>
| <servlet-name>Persistent Faces Servlet</servlet-name>
| <url-pattern>/xmlhttp/*</url-pattern>
| </servlet-mapping>
|
| <servlet-mapping>
| <servlet-name>Persistent Faces Servlet</servlet-name>
| <url-pattern>/xmlhttp/*</url-pattern>
| </servlet-mapping>
|
| <servlet-mapping>
| <servlet-name>Persistent Faces Servlet</servlet-name>
| <url-pattern>*.iface</url-pattern>
| </servlet-mapping>
|
| <!-- file upload Servlet -->
| <servlet>
| <servlet-name>uploadServlet</servlet-name>
| <servlet-class>com.icesoft.faces.component.inputfile.FileUploadServlet</servlet-class>
| <load-on-startup> 1 </load-on-startup>
| </servlet>
|
| <servlet-mapping>
| <servlet-name>uploadServlet</servlet-name>
| <url-pattern>/uploadHtml</url-pattern>
| </servlet-mapping>
|
Just a short post should give me a starting point.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4025244#4025244
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4025244
More information about the jboss-user
mailing list