I have a stateful bean that has a DataModel attribute that is populated by a
Factory method on load of a facelet. On the same facelet, I have a form to
create a new item. Is it possible to use the same stateful bean? (If I declare
either an @In or @Out variable in the bean, I get an error on page load... so
far, the only way I can get this to work is to have the save form call a
different bean all together).
Anyone have any suggestions?
Here's the bean code...
| @Stateful
| @Name("editCategoryAction")
| public class EditCategoryAction implements EditCategory, Serializable {
|
|
| @EJB
| private static ICategory categoryBean;
|
| @DataModel
| private List<Category> categoryList;
|
| @Factory("categoryList")
| public void listCategories() {
| categoryList = categoryBean.listCategories();
|
| }
|
| public void saveCategories(){
| categoryBean.saveCategories(categoryList);
| }
|
|
| @Destroy
| @Remove
| public void destroy() {
| }
| }
|
And here's the code for the facelet:
| <!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:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jstl/core">
|
| <head>
| <meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
| <title> Category Administration</title>
| </head>
| <body>
| <h1>
| Categories
| </h1>
| <f:view>
| <h:form>
| <div>
| <h:outputText value="There are no
categories." rendered="#{empty categoryList}" />
| <h:dataTable value="#{categoryList}"
var="category" rendered="#{not empty categoryList}">
| <h:column>
| <f:facet name="header">
| <h:outputText
value="Name" />
| </f:facet>
| <h:inputText
value="#{category.name}" />
| </h:column>
| <h:column>
| <f:facet name="header">
| <h:outputText
value="Description" />
| </f:facet>
| <h:inputText
value="#{category.desc}" />
| </h:column>
| </h:dataTable>
| </div>
| <div>
| <h:messages />
| </div>
| <div>
| <h:commandButton value="Save"
action="#{editCategoryAction.saveCategories}" />
| </div>
| </h:form>
| <h:form>
| <div>
| <table>
| <tr>
| <td>
| Name:
| <h:inputText
value="#{category.name}" />
| </td>
| <td>
| Desc:
| <h:inputText
value="#{category.desc}" />
| </td>
| <td>
|
<h:commandButton value="Create Category"
action="#{createCategoryAction.createCategory}" />
| </td>
| </tr>
| </table>
| </div>
| </h:form>
| </f:view>
| </body>
| </html>
|
And finally, the code for the other bean:
|
| @Stateless
| @Name("createCategoryAction")
| public class CreateCategoryAction implements CreateCategory {
|
| @In
| private Category category;
|
| @EJB
| private static ICategory categoryBean;
|
| public void createCategory() {
| categoryBean.saveCategory(category);
|
| }
|
| }
|
What I'd like to do is combine the 2 beans into a single bean that is
responsible for the interactions of this single page.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3943408#3943408
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3943408
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user