I tried this:
<page view-id="/category.xhtml" action="#{categoryAction.listBooksByCategoryName}">
<param name="name" value="#{categoryAction.categoryName}" required="true"/>
</page>
And CategoryAction.java
private String categoryName;
But I got the same error, no value doesn't its value set.
What about annotating categoryName as:
@RequestParameter
private String categoryName;
This time the value is set but I got this exception:
[testng] WARN 12-03 11:42:56,909 (Param.java:convertValueFromString:208) -could not create converter for: name
[testng] javax.el.PropertyNotFoundException: The class 'org.javassist.tmp.java.lang.Object_$$_javassist_0' does not have the property 'categoryName'.
[testng] at javax.el.BeanELResolver.getBeanProperty(BeanELResolver.java:574)
[testng] at javax.el.BeanELResolver.getType(BeanELResolver.java:230)
[testng] at javax.el.CompositeELResolver.getType(CompositeELResolver.java:215)
[testng] at javax.el.CompositeELResolver.getType(CompositeELResolver.java:215)
[testng] at org.jboss.el.parser.AstPropertySuffix.getType(AstPropertySuffix.java:30)
[testng] at org.jboss.el.parser.AstValue.getType(AstValue.java:29)
[testng] at org.jboss.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:174)
[testng] at org.jboss.seam.core.Expressions$1.getType(Expressions.java:127)
[testng] at org.jboss.seam.navigation.Param.getConverter(Param.java:64)
[testng] at org.jboss.seam.navigation.Param.convertValueFromString(Param.java:203)
[testng] at org.jboss.seam.navigation.Pages.convertAndValidateStringValuesInPageContext(Pages.java:744)
[testng] at org.jboss.seam.navigation.Pages.postRestore(Pages.java:393)
[testng] at org.jboss.seam.jsf.SeamPhaseListener.postRestorePage(SeamPhaseListener.java:528)
[testng] at org.jboss.seam.jsf.SeamPhaseListener.afterRestoreView(SeamPhaseListener.java:374)
[testng] at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:211)
[testng] at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:184)
[testng] at org.jboss.seam.mock.BaseSeamTest$Request.restoreViewPhase(BaseSeamTest.java:772)
[testng] at org.jboss.seam.mock.BaseSeamTest$Request.emulateJsfLifecycle(BaseSeamTest.java:586)
[testng] at org.jboss.seam.mock.BaseSeamTest$Request.access$300(BaseSeamTest.java:185)
[testng] at org.jboss.seam.mock.BaseSeamTest$Request$2.doFilter(BaseSeamTest.java:519)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
[testng] at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
[testng] at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
[testng] at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
[testng] at org.jboss.seam.mock.BaseSeamTest$Request.run(BaseSeamTest.java:514)
[testng] at test.CategoryTest.listBooksByCategoryTest(CategoryTest.java:19)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[testng] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[testng] at java.lang.reflect.Method.invoke(Method.java:597)
[testng] at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:604)
[testng] at org.testng.internal.Invoker.invokeMethod(Invoker.java:470)
[testng] at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:564)
[testng] at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:830)
[testng] at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
[testng] at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
[testng] at org.testng.TestRunner.runWorkers(TestRunner.java:678)
[testng] at org.testng.TestRunner.privateRun(TestRunner.java:624)
[testng] at org.testng.TestRunner.run(TestRunner.java:495)
[testng] at org.testng.SuiteRunner.runTest(SuiteRunner.java:300)
[testng] at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:295)
[testng] at org.testng.SuiteRunner.privateRun(SuiteRunner.java:275)
[testng] at org.testng.SuiteRunner.run(SuiteRunner.java:190)
[testng] at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:792)
[testng] at org.testng.TestNG.runSuitesLocally(TestNG.java:765)
[testng] at org.testng.TestNG.run(TestNG.java:699)
[testng] at org.testng.TestNG.privateMain(TestNG.java:824)
[testng] at org.testng.TestNG.main(TestNG.java:802)
[testng] Hibernate:
[testng] select
[testng] books1_.id as id5_,
[testng] books1_.category_id as category13_5_,
[testng] books1_.description as descript2_5_,
[testng] books1_.discount as discount5_,
[testng] books1_.image_path as image4_5_,
[testng] books1_.isbn as isbn5_,
[testng] books1_.number_of_pages as number6_5_,
[testng] books1_.price as price5_,
[testng] books1_.publisher_id as publisher12_5_,
[testng] books1_.releasing_date as releasing8_5_,
[testng] books1_.title as title5_,
[testng] books1_.toc_path as toc10_5_,
[testng] books1_.optlock as optlock5_
[testng] from
[testng] Category category0_
[testng] inner join
[testng] Book books1_
[testng] on category0_.id=books1_.category_id
[testng] where
[testng] category0_.name=?
[testng] WARN 12-03 11:42:57,116 (SeamPhaseListener.java:<init>:92) -There should only be one Seam phase listener per application
[testng] WARN 12-03 11:42:58,984 (RuleBasedIdentity.java:initSecurityContext:72) -no security rule base available - please install a RuleBase with the name 'securityRules' if permission checks are required.
[testng] Hibernate:
[testng] select
[testng] book0_.id as id5_,
[testng] book0_.category_id as category13_5_,
[testng] book0_.description as descript2_5_,
[testng] book0_.discount as discount5_,
[testng] book0_.image_path as image4_5_,
[testng] book0_.isbn as isbn5_,
[testng] book0_.number_of_pages as number6_5_,
[testng] book0_.price as price5_,
[testng] book0_.publisher_id as publisher12_5_,
[testng] book0_.releasing_date as releasing8_5_,
[testng] book0_.title as title5_,
[testng] book0_.toc_path as toc10_5_,
[testng] book0_.optlock as optlock5_
[testng] from
[testng] Book book0_
[testng] order by
[testng] book0_.title limit ?
[testng] PASSED: listNewTitlesTest
[testng] FAILED: listBooksByCategoryTest
[testng] java.lang.AssertionError: javax.el.PropertyNotFoundException: The class 'org.javassist.tmp.java.lang.Object_$$_javassist_0' does not have the property 'categoryName'.
[testng] at org.jboss.seam.mock.BaseSeamTest$Request.onException(BaseSeamTest.java:475)
[testng] at org.jboss.seam.mock.BaseSeamTest$Request$2.doFilter(BaseSeamTest.java:526)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
[testng] at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
[testng] at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
[testng] at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
[testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
[testng] at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
[testng] at org.jboss.seam.mock.BaseSeamTest$Request.run(BaseSeamTest.java:514)
[testng] at test.CategoryTest.listBooksByCategoryTest(CategoryTest.java:19)
[testng] Caused by: javax.el.PropertyNotFoundException: The class 'org.javassist.tmp.java.lang.Object_$$_javassist_0' does not have the property 'categoryName'.
[testng] at javax.el.BeanELResolver.getBeanProperty(BeanELResolver.java:574)
[testng] at javax.el.BeanELResolver.getValue(BeanELResolver.java:280)
[testng] at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
[testng] at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
[testng] at org.jboss.el.parser.AstPropertySuffix.getValue(AstPropertySuffix.java:53)
[testng] at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
[testng] at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
[testng] at org.jboss.seam.core.Expressions$1.getValue(Expressions.java:112)
[testng] at org.jboss.seam.navigation.Param.getStringValueFromModel(Param.java:132)
[testng] at org.jboss.seam.navigation.Pages.updateStringValuesInPageContextUsingModel(Pages.java:820)
[testng] at org.jboss.seam.jsf.SeamStateManager.saveView(SeamStateManager.java:86)
[testng] at org.jboss.seam.mock.BaseSeamTest$Request.renderResponsePhase(BaseSeamTest.java:631)
[testng] at org.jboss.seam.mock.BaseSeamTest$Request.emulateJsfLifecycle(BaseSeamTest.java:611)
[testng] at org.jboss.seam.mock.BaseSeamTest$Request.access$300(BaseSeamTest.java:185)
[testng] at org.jboss.seam.mock.BaseSeamTest$Request$2.doFilter(BaseSeamTest.java:519)
[testng] ... 40 more
[testng] ... Removed 22 stack frames
[testng]
[testng] ===============================================
[testng] ArmadaBookStore
[testng] Tests run: 2, Failures: 1, Skips: 0
[testng] ===============================================
[testng]
[testng]
[testng] ===============================================
[testng] ArmadaBookStore
[testng] Total tests run: 2, Failures: 1, Skips: 0
[testng] ===============================================
[testng]
If you can't hear me, I'm saying huh!!
I'm becoming bald soon....
Thank you for your help.