• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Actions don't work inside a dataTable column?

 
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have a List which contants titles of books. My goal in results.jsp is to iterate through the List and display the titles to the user. Once the user selects a title, it should navigate to bookDetails.jsp. The problem is it seems that the app server ignores the action="success" tag to route to the next page. When I click on a title, it just reloads the result.jsp page. Does the dataTable construct not support embedded forms?

Here is the code for results.jsp:

When I take out the dataTable tag (and replace the title getter binding with regular text), it does navigate to bookDetails.jsp. So this works:

Here is the relevant contents of the faces-config.xml:


[ June 28, 2005: Message edited by: Robert Peterson ]

[ June 28, 2005: Message edited by: Robert Peterson ]

[ June 28, 2005: Message edited by: Robert Peterson ]

[ June 28, 2005: Message edited by: Robert Peterson ]
[ July 01, 2005: Message edited by: Robert Peterson ]
 
Ranch Hand
Posts: 1400
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Here is the definiton of "action" attribute from JSF specs.



Though your code is working in certain scenario, I would recommend you to make this change in your code. Use a method binding with your action attribute.
[ June 28, 2005: Message edited by: Varun Khanna ]
 
Robert Peterson
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I appreciate your help. It turns out that an action can be a String when you want to navigate to the next page immediately. If you need more functionality you can use a method in a backing bean. From the sun J2EE 1.4 tutorial:

The outcome can be defined by the action attribute of the UICommand component that submits the form, as it is in the guessNumber example:

<h:commandButton id="submit" action="success"
value="Submit" />

The outcome can also come from the return value of an action method in a backing bean.



Just to make sure, I tried the following and the result is the same:



Using this method in the controller backing bean:

 
Varun Khanna
Ranch Hand
Posts: 1400
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
So is your action method getting called at all or not?
 
Robert Peterson
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It never gets called. I tried the following and the print statement never shows up:


[ June 29, 2005: Message edited by: Robert Peterson ]
 
Varun Khanna
Ranch Hand
Posts: 1400
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Backing bean scope request? if yes, try changing it to session.
 
Robert Peterson
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Changing the scope to session fixed it. Thanks!

With the scope at session my original attempt with action="success" works too. Do you know why it doesn't work under request? I think I read somewhere that keeping everything at the request scope is better.

[ July 01, 2005: Message edited by: Robert Peterson ]
[ July 01, 2005: Message edited by: Robert Peterson ]
 
Varun Khanna
Ranch Hand
Posts: 1400
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Glad it's solved

It's a bug. This has been discussed earlier in this forum.
 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
damn! damn! damn! I spent 4 hours yesterday, trying back and forth without success, and your advice solved my problem completely! thanks a lot!
if you ever visit Russia, mail me and we can get some beer

I see JSF developers are not in a hurry to fix this
 
Ranch Hand
Posts: 125
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,

Just came to read this. I have the same problem. Doesn't give any error , displays the same page. I tried your case. But for its not working.
I am trying an example from http://courses.coreservlets.com/Course-Materials/pdf/jsf/02-Page-Navigation.pdf

Using tomcat5.5.17 and jsf1.1.3. Any idea about whats happening ?

Thanks,
Joe
[ August 23, 2006: Message edited by: Joe Jose ]
 
snakes are really good at eating slugs. And you wouldn't think it, but so are tiny ads:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic