[jboss-user] [JBoss Seam] - Woodstock and Seam on JBoss with Facelets, JSF 1.2

mgrouch do-not-reply at jboss.com
Sat Mar 10 19:23:08 EST 2007


I'm trying to configure Seam to use Woodstock on JBoss with Facelets, JSF 1.2. Has anyone used this combo? I've got simple page rendered with Woodstock. However I'm having troubles with invoking actions.


  | 19:14:57,984 ERROR [ExceptionFilter] exception root cause
  | java.lang.UnsupportedOperationException
  | 	at org.jboss.seam.Namespace.entrySet(Namespace.java:23)
  | 	at java.util.AbstractMap.toString(AbstractMap.java:584)
  | 	at java.lang.String.valueOf(String.java:2615)
  | 	at java.lang.StringBuilder.append(StringBuilder.java:116)
  | 	at com.sun.webui.jsf.faces.UIComponentELResolver.getValue(UIComponentELResolver.java:72)
  | 	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
  | 	at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
  | 	at com.sun.el.parser.AstValue.getValue(AstValue.java:117)
  | 	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
  | 	at com.sun.faces.application.ValueBindingValueExpressionAdapter.getValue(ValueBindingValueExpressionAdapter.java:102)
  | 	at org.jboss.seam.core.Expressions$1.getValue(Expressions.java:57)
  | 	at org.jboss.seam.Component.getInstanceFromFactory(Component.java:1683)
  | 	at org.jboss.seam.Component.getInstance(Component.java:1632)
  | 	at org.jboss.seam.Component.getInstance(Component.java:1609)
  | 	at org.jboss.seam.Component.getInstance(Component.java:1603)
  | 	at org.jboss.seam.jsf.SeamELResolver.getValue(SeamELResolver.java:49)
  | 	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
  | 	at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:65)
  | 	at com.sun.el.parser.AstValue.getValue(AstValue.java:106)
  | 	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
  | 	at org.jboss.seam.util.UnifiedELValueBinding.getValue(UnifiedELValueBinding.java:34)
  | 	at org.jboss.seam.security.Identity.evaluateExpression(Identity.java:506)
  | 	at org.jboss.seam.security.Identity.checkRestriction(Identity.java:149)
  | 	at org.jboss.seam.interceptors.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:35)
  | 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
  | 	at org.jboss.seam.interceptors.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:40)
  | 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
  | 	at org.jboss.seam.interceptors.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:31)
  | 

As a first step I reconfigured Seam booking demo with Sun JSF 1.2 using instructions from here http://www.jboss.com/index.html?module=bb&op=viewtopic&t=94738

I was able to get booking demo running with Sun's JSF 1.2 on JBoss 4.0.5.GA.

After that I added woodstock.taglib.xml from http://blogs.steeplesoft.com/wp-content/uploads/2007/02/woodstock.taglib.xml

into booking-demo WEB-INF, then I modified web.xml:


  | 	<!-- Woodstock -->
  | 	<context-param>	
  | 		<param-name>com.sun.webui.jsf.DEFAULT_THEME</param-name>
  | 		<param-value>suntheme</param-value>
  | 	</context-param>
  | 
  | 	<context-param>
  | 		<param-name>facelets.LIBRARIES</param-name>
  | 		<param-value>/WEB-INF/woodstock.taglib.xml</param-value>
  | 	</context-param>
  | 
  | ...
  | 
  | 	<!-- Theme Servlet -->
  |         <servlet>
  | 	    	<servlet-name>ThemeServlet</servlet-name>
  | 	    	<servlet-class>com.sun.webui.theme.ThemeServlet</servlet-class>
  | 		<load-on-startup>2</load-on-startup>
  | 	</servlet>  
  | 
  | ...
  | 
  | 	<!-- Theme Servlet Mapping -->
  | 	<servlet-mapping>
  | 		<servlet-name>ThemeServlet</servlet-name>
  | 		<url-pattern>/theme/*</url-pattern>
  | 	</servlet-mapping>     
  | 
  | 
  | ...
  | 
  |     <!-- JSF RI -->
  |     <listener>
  |         <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
  |     </listener> 
  | 
  | 
  | 
  | 

Added jars

dataprovider.jar
dojo-0.4.1-ajax.jar
jhall.jar
jsf-extensions-common-0.1.jar
jsf-extensions-dynamic-faces-0.1.jar
json.jar
prototype-1.5.0.jar
webui-jsf.jar
webui-jsf-suntheme.jar

into JBoss deploy\jbossweb-tomcat55.sar\jsf-libs directory


My other config files

application.xml


  | <?xml version="1.0" encoding="UTF-8"?>
  | <application xmlns="http://java.sun.com/xml/ns/javaee" 
  |              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  |              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"
  |              version="5">
  |     <display-name>Seam Booking</display-name>
  |     <module>
  |         <web>
  |             <web-uri>jboss-seam-booking.war</web-uri>
  |             <context-root>/seam-booking</context-root>
  |         </web>
  |     </module>
  |     <module>
  |         <ejb>jboss-seam-booking.jar</ejb>
  |     </module>
  |     <module>
  |         <java>jboss-seam.jar</java>
  |     </module>
  | </application>
  | 


faces-config.xml


  | <faces-config version="1.2"
  |    xmlns="http://java.sun.com/xml/ns/javaee"
  |    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  |    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
  | 
  |     <application>
  |         <el-resolver>org.jboss.seam.jsf.SeamELResolver</el-resolver>
  |     </application>	
  | 
  |     <lifecycle>
  |         <phase-listener>org.jboss.seam.jsf.SeamPhaseListener</phase-listener>
  |     </lifecycle>
  | 
  | </faces-config>
  | 

I've added a page with a table. This page renders fine by accessing 
http://localhost:8080/seam-booking/woodstock.seam

woodstock.xhtml

  | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  |     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  | <html xmlns="http://www.w3.org/1999/xhtml"
  |     xmlns:ui="http://java.sun.com/jsf/facelets"
  |     xmlns:h="http://java.sun.com/jsf/html"
  |     xmlns:f="http://java.sun.com/jsf/core"
  |     xmlns:risb="http://java.sun.com/jsf/ri/sandbox"
  |     xmlns:webuijsf="http://www.sun.com/webui/webuijsf"
  |     xmlns:s="http://jboss.com/products/seam/taglib">
  |     <f:view>
  | 		<webuijsf:head>
  |     		<webuijsf:link url="/style.css"/>
  | 		</webuijsf:head>
  | 	    <webuijsf:body id="body">
  |         	<webuijsf:form id="form">
  | 	            <webuijsf:button id="callAction" text="Action" action="#{hotelSearch.find}" />
  | 			<webuijsf:table id="table" 
  | 
  | ...
  | 
  | 			</webuijsf:table>
  |         	</webuijsf:form>
  |         </webuijsf:body>                             
  | 	</f:view>
  | </html>
  | 

Any ideas how to make actions work on a form?
Thanks,
--MG



View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4026921#4026921

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4026921



More information about the jboss-user mailing list