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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...