[jboss-user] [JBoss Seam] - Using Seam with Facelets and EL Parameters
frosted
do-not-reply at jboss.com
Fri Dec 14 16:00:03 EST 2007
I am having an issue with using Seam with passed in Action Parameters in EL. I am tied to WebLogic right now, and hearing about the EJB3 issues that Seam has, I just want to use the UI features of Seam in order to pass parameters to method calls in the EL. I am using Seam 2.0 GA, Facelets 1.1-13, and RichFaces latest release along with the Sun RI Implementation of JSF.
In a facelets page I have the following code:
<ui:composition>
| <f:view>
| <s:fragment rendered="#{SecurityManager.isAllowed(View_Position)}">
This is throwing an exception:
com.sun.facelets.tag.TagAttributeException: //C:/dev/workspace/AppName/WebContent/WEB-INF/tabs/position.xhtml @15,68 rendered="#{SecurityManager.isAllowed(View_Position)}" Error Parsing: #{SecurityManager.isAllowed(View_Position)}
| at com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:259)
| at com.sun.facelets.tag.jsf.ComponentRule$ValueExpressionMetadata.applyMetadata(ComponentRule.java:69)
| at com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
| at com.sun.facelets.tag.MetaTagHandler.setAttributes(MetaTagHandler.java:62)
| at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:144)
| at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
| at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109)
|
My web.xml looks like this:
<?xml version="1.0" encoding="UTF-8"?>
| <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xmlns="http://java.sun.com/xml/ns/javaee"
| xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
| xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
| id="WebApp_ID" version="2.5">
|
| <display-name>DisplayName</display-name>
|
| <!-- Seam -->
| <listener>
| <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
| </listener>
|
| <servlet>
| <servlet-name>Seam Resource Servlet</servlet-name>
| <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class>
| </servlet>
|
| <servlet-mapping>
| <servlet-name>Seam Resource Servlet</servlet-name>
| <url-pattern>/seam/resource/*</url-pattern>
| </servlet-mapping>
|
| <filter>
| <filter-name>Seam Filter</filter-name>
| <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class>
| </filter>
|
| <filter-mapping>
| <filter-name>Seam Filter</filter-name>
| <url-pattern>/*</url-pattern>
| </filter-mapping>
|
| <!-- End Seam -->
|
| <!-- JSF -->
| <servlet>
| <servlet-name>Faces Servlet</servlet-name>
| <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
| <load-on-startup>1</load-on-startup>
| </servlet>
|
| <servlet-mapping>
| <servlet-name>Faces Servlet</servlet-name>
| <url-pattern>*.jsf</url-pattern>
| </servlet-mapping>
|
| <context-param>
| <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
| <param-value>.xhtml</param-value>
| </context-param>
|
| <context-param>
| <param-name>facelets.VIEW_MAPPINGS</param-name>
| <param-value>*.jspx;*.xhtml;</param-value>
| </context-param>
|
| <context-param>
| <param-name>facelets.DEVELOPMENT</param-name>
| <param-value>true</param-value>
| </context-param>
|
| <context-param>
| <param-name>facelets.REFRESH_PERIOD</param-name>
| <param-value>2</param-value>
| </context-param>
|
| <context-param>
| <param-name>facelets.LIBRARIES</param-name>
| <param-value>
| /WEB-INF/htmLib.taglib.xml;
| /WEB-INF/facelets/tags/dems.taglib.xml;
| </param-value>
| </context-param>
|
| <!-- RichFaces Configuration -->
|
| <context-param>
| <param-name>org.richfaces.SKIN</param-name>
| <param-value>blueSky</param-value>
| </context-param>
|
| <filter>
| <display-name>Ajax4jsf Filter</display-name>
| <filter-name>ajax4jsf</filter-name>
| <filter-class>org.ajax4jsf.Filter</filter-class>
| </filter>
|
| <filter-mapping>
| <filter-name>ajax4jsf</filter-name>
| <servlet-name>Faces Servlet</servlet-name>
| <dispatcher>REQUEST</dispatcher>
| <dispatcher>FORWARD</dispatcher>
| <dispatcher>INCLUDE</dispatcher>
| </filter-mapping>
|
|
| <!-- End RichFaces Configuration -->
|
My faces-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
|
| <faces-config
| 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"
| version="1.2">
| <application>
| <el-resolver>org.jboss.seam.el.SeamELResolver</el-resolver>
| <locale-config>
| <default-locale>en</default-locale>
| </locale-config>
| <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
| </application>
| </lifecycle>
| <factory>
| <application-factory>com.sun.faces.application.ApplicationFactoryImpl</application-factory>
| <faces-context-factory>com.sun.faces.context.FacesContextFactoryImpl</faces-context-factory>
| <lifecycle-factory>com.sun.faces.lifecycle.LifecycleFactoryImpl</lifecycle-factory>
| <render-kit-factory>com.sun.faces.renderkit.RenderKitFactoryImpl</render-kit-factory>
| </factory>
It seems that the FaceletViewHandler is still being used to interpret EL expressions. I find documentation relating to Seam 1.1 that refer to a SeamFaceletViewHandler, but that seems to be missing from Seam 2.0. Is there something glaringly obvious I am missing? Please let me know if you need further information regarding my configuration or anything else.
Thanks!
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4113081#4113081
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4113081
More information about the jboss-user
mailing list