CommandLinks and CommandButtons in Datatable do not work
I have read the threads about this issue and am aware of the fact that there is a problem, if the backing bean is in request scope. However, my backing bean is in session scope and it still does not work - my action methods are never called. What's more, I have another backing bean in session scope, where it works perfectly and I cannot see any difference between them.
Here's the code, my backing bean is dms:
<h:form rendered="#{dms.documents.rowCount > 0}">
<h:dataTable rowClasses="..." headerClass="..." value="#{dms.documents}"
columnClasses="..." var="item" border="1" cellpadding="2" cellspacing="0">
<h:column>
<f:facet name="header">
<h:outputText>DocName</h:outputText>
</f:facet>
<h:commandLink action="#{dms.test}" value="#{item.docName}"/>
</h:column>
<h:column>
<f:facet name="header"/>
<h:commandButton id="foo" value="View" action="#{dms.test}"/>
</h:column>
</h:dataTable>
<h:commandLink action="#{dms.test}" value="Clickme"/>
</h:form>
Here is the code in the backing bean:
public String test() {
System.out.println("Hooray");
return "mainPage";
And this in faces-config.xml:
<managed-bean>
<managed-bean-name>dms</managed-bean-name>
<managed-bean-class>com.mypackage.DmsController</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
Only the last link, the one outside the datatable and titled "Clickme", works. I can see "Hooray" in the logfile and am redirected to the main page. If I click any of the links or buttons in the datatable, nothing is written to the log and the same page is loaded again, but only the static content is displayed, i.e. no JSF tags are evaluated, they are just dropped. There are, however, a few hidden input fields called javax.faces.ViewState, which I don't know where they are coming from.
As I said, I have another backing bean in session scope, which is modelled exactly like that and it works there. Maybe JSF apps are supposed to have only one controller?
Many thanks in advance for any pointers,
Ulrich
Edit: It doesn't change anything if I put the backing bean in application scope. I did have the same problem before with my other backing bean, but could solve it there by putting it from request scope to session scope.
<h:dataTable value="#{dms.documents}">How do you load this list? This list should not be null during the INVOKE_APPLICATION phase.
Try stubbing the List right in the getDocuments() method and see if it works.
Similar Messages
-
Using commandLinks and commandButtons in dataTables
I'm trying to create a page that displays data from a database and allows you to edit individual rows by clicking on either a commandButton or a commandLink within a dataTable that then takes you to another page where you can edit that particular row of the table.
When using a commandButton, it works perfectly for all but the last entry in the table. But when the button in the last line is clicked, nothing happens at all, it does not seem to call the action listener and it does not perform the navigation based on the action. But with all the previous buttons it calls the actionListener and navigates perfectly. Can anyone tell me why this would be? The code is as follows:
<h:dataTable value="#{Categories.categories}" var="category" >
<h:column>
<f:facet name="header"><h:outputText value="#{msgs.deptColumnHead}"/></f:facet>
<h:outputText value="#{category.departmentName}"/>
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="#{msgs.categoriesColumnHead}"/></f:facet>
<h:outputText value="#{category.categoriesList}"/>
</h:column>
<h:column>
<h:form>
<h:inputHidden id="dept" value="#{category.departmentId}"/>
<h:commandButton id="editButton" action="EditCat" actionListener="#{Categories.editListener}" value="{msgs.editSelectedButtonText}"/>
</h:form>
</h:column>
</h:dataTable>
When using commandLinks, only the first one works (of 4). For the other 3 the page goes into error when the link is clicked and it complains that 'document.forms._id2:3:_id10._id2:3:_id10:idcl is null or not an object'. If anyone could tell me what is wrong with my code, i would be most appreciative.
<h:dataTable value="#{Categories.categories}" var="category" >
<h:column>
<f:facet name="header"><h:outputText value="#{msgs.deptColumnHead}"/></f:facet>
<h:outputText value="#{category.departmentName}"/>
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="#{msgs.categoriesColumnHead}"/></f:facet>
<h:outputText value="#{category.categoriesList}"/>
</h:column>
<h:column>
<h:form>
<h:inputHidden id="dept" value="#{category.departmentId}"/>
<h:commandLink action="EditCat" actionListener="#{Categories.editListener}">
<h:outputText value="#{msgs.editSelectedButtonText}"/>
</h:commandLink>
</h:form>
</h:column>
</h:dataTable>1) I have had very odd behavior in JSF when ALL of the
JSF elements on a page do not have an id attribute. If
you do not assign an id then JSF will manufacture a
unique id on the flag. Sometimes the unique id wasn't
so unique and there were errors like you are seeing or
just odd behavior on the form, buttons not generating
events, or incorrect rendering, etc.
By 'ALL' I mean output text, columns, anything that
accepts an id attribute. Don't trust the code to
generate an id correctly for you.Just want it known that while this may be necessary in the short-term to work around bugs, this is definitely not the intent of the EG! We don't want people getting in the habit of
Also note that this behavior is not consistent
sometimes it would not appear on a page unless the
page was updated and more controls added to it.Ah, well that is a known issue; while developing a page, the Sun RI can have problems if you change a page's contents between two submissions. (It doesn't pick up that the .jsp has changed.) I'd recommend:
- Use client-side state saving.
- Make sure you're making a new request for a page (not re-POST-ing anything!) when the page's contents have changed.
If you follow both of those rules, then you should generally be able to get away without explicit IDs everywhere as you actively develop your page.
Explicit IDs are required if you're inside <c:if>; this is known and documented.
2) try putting the hidden input control in it's own
columnNo, that'll give you a bonus set of <td> elements, which isn't what you want.
-- Adam Winer (EG member) -
Problem with commandLink and commandButton
Problem with commandLink and commandButton
I have commandButton id="submit" action="{myActionClass.dothis}"
When I click on the commandbutton it is not submiting to the action class rather, its submitting to the same page..
I am tired of this ...
I am using tiles for displaying jsf pages . Any problem because of using tilesyes I have the validator.
If I open the url directly its working fine
let say I am opening localhost:8080/test/test.jsf
then it works fine
If i use the same test.jsf along with tiles and open it, then its dispalying all the elements but when i click on commandbutton.. nothin is happening.
the seems like page is reloaded. -
Hi Guys,
I am using the full width video widget on a site. The widget was working perfectly however I have just added additional content to the site and re-uploaded and now the video is not working! Please help I have tried everything and am freaking out as this web-site has been payed for by my client.
AlexMany thanks.
With those symptoms, I'd try the following document:
Apple software on Windows: May see performance issues and blank iTunes Store
(If there's a SpeedBit LSP showing up in Autoruns, it's usually best to just uninstall your SpeedBit Video Accelerator.) -
Why cant I add contacts on the iphone4? the mail contacts calendars button unders settings, the contacts button, the add a contacts button under message and the phone button will not work to add a contact.
Have you attempted a restore?
-
my bluetooth says 'Not Available' how do i get it to work again. I have restarted the computer several times and have replaced the batteries in both the keyboard and mouse and yet it still is not working! please help
I have had the same problem. It was cured by turning computer off and/or restarting it. I am not sure if once was enough. I think shutting down must cut out whatever it is that blocks bluetooth. Good luck
-
Hi, I have the iphone 4s and just bought an ebook for ibook, trouble is the font is so tiny I can't read it and the font sizer is not working? Please help!
Hello Glittergirl68,
Thank you for using Apple Support Communities.
It sounds like the function to reseize the Font in an iBook is not functioning properly.
I recommend a few things here. First close all the apps that are running in the background:
Double-click the Home button.
Swipe left or right until you have located the app you wish to close.
Swipe the app up to close it.
From: iOS: Force an app to close
http://support.apple.com/kb/ht5137
When you have done that, restart the phone, and try again.
If the issue persists, I would follow these steps from the article:
iOS: Troubleshooting apps purchased from the App Store
http://support.apple.com/kb/TS1702
2. Check for app updates
You can setup apps to update automatically in Settings > iTunes & App Store, but make sure that your apps are up to date:
Open the App Store and tap Updates. If updates are available, tap Update All.
If prompted, enter your iTunes Store account information. App Store will then download and install the app updates.
Note: Some apps may require a Wi-Fi connection to update.
3. Install another app from the App Store
If none of your user-installed apps will launch, there could be an issue with Apple ID authorization. Download and install an app that isn't already installed on your device to reset this information. You can also remove an app from your iOS device and download it again from the App Store or sync the app from your computer.Note: If you have installed apps using multiple Apple ID accounts, you may need to perform this step for each account.
4. Restart the app
If the issue affects only a single app, try closing just that app.
5. Restart your device
Turn the device off and on.
6. Reinstall the affected app
Remove the app from your device and reinstall it:
Tap and hold any app icon on the Home Screen until the icons start to wiggle and show a small "x" in the top-right corner of the app.
Tap the "x" in the corner of the app you want to delete.
Tap Delete to remove the app and all of its data from your device.
Press the Home button.
Go to the App Store.
Search for the app and then download it again.
All the very best,
Sterling -
I installed windows 7 on my macbook pro. all is working but lan adaptor and sound od laptop is not working. please help me or send the link where i can download the these drivers.I have lost my resource cd .
If you are running Lion or Mountain Lion, the drivers are downloaded from within Bootcamp Assistant. If you are running Snow Leopard the drivers are on your Snow Leopard install disk.
Read the Bootcamp Install Guide for your version of OSx. http://www.apple.com/support/bootcamp/
Bootcamp questions should be asked in the Bootcamp forum where the Bootcamp gurus hang out https://discussions.apple.com/community/windows_software/boot_camp -
I performed an iOS 7 software update on my iPhone yesterday, and now the phone is not working at all. The iPhone screen shows to connect to iTunes to restore. I've have done this, and still the iPhone is not working. What going on?
I have no idea what may have caused your MacBook to stop working, but from your description it kind of sounds like it may have started before you ran Software Update and installed the new Apps. Just the general slow feeling and bugginess is what tips me off. You said that you weren't sure if you had closed all open windows, that doesn't matter if the computer restarts itself. It automatically closes all other open applications when restarting.
As to your data being retrievable, if when you take it in they do a fresh install of the OS, then no, it will not be unless you want to pay several thousand dollars to a software retrieval company.
I am glad to hear that you have taken into the Apple Store to get it fixed, and that you have all of your purchased music backed up to your iPod. You should be able to just transfer it all back to iTunes once you get your computer back should it be necessary.
As a side note, the proper place for this topic would probably in the MacBook forums, not iTunes since there is no evidence that iTunes started the issue. -
I have done absalutely nothing to my 4g apple ipod touch, and it over heats, won't hold a charge, and the front camera will not work. I bought this brand new in december, and i've barely used it. I've tried restarting it and everything, I honestly think this is out raging because i spend over $200 on this. To have for music and instagram. I use it about an hour a day, but i've only been using it for about 3 months although i've had it since December. Any suggestions that may help me?
Try:
- A reset. Nothing is lost
Reset iPod touch: Hold down the On/Off button and the Home button at the same time for at
least ten seconds, until the Apple logo appears.
- Restore from backup
- Restore to factory settings/new iPod
If still problem make an appointment at the Genius Bar of an Apple store. -
In outlook 2013 Add-In, Adding dynamic menu to <splitButton idMso="DialMenu"> is working and the same code is not working in outlook
2010 Add-In. please let me know, if i am missing something. Below is the xml and screen shot
<contextMenu idMso="ContextMenuFlaggedContactItem">
<splitButton idMso="DialMenu">
<menu>
<dynamicMenu id="CallContactwithFreedomvoice
" label="CallContactwithFreedomvoice"
getContent="OnGetContenttest" insertAfterMso="Call"/>
</menu> </splitButton> </contextMenu>Hi Narasimha prasad2,
Based on the description, the context menu for the flagged contact doen't work in Outlook. I am tring to rerpoduce this issue however failed.
I suggest that you check the state of the add-in first to see wether the add-in was loaded successfully.
Regards & Fei
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
I update my Mac to version 10.9.2 and now my printer does not work anymore. I did all the software updates and I do not understand why my mac does not recognize the printer anymore?
Go to the website of the manufacturer of your printer and check to see if they have released an updated driver for your particular model.
-
My app store, Apple ID, safari, and most other apps do not work after upgrading to iSO 6, How do i solve this problem? Can somebody help me please?
The App store is a problem for many and I have not seen a solution.
What is "wrong" with your Apple ID?
Try the following:
- A reset. Nothing is lost
Reset iPod touch: Hold down the On/Off button and the Home button at the same time for at
least ten seconds, until the Apple logo appears.
- Restore from backup
- Restore to factory settings/new iPod. -
How do I fix my iPod I updated it to iOS 6 and now iTunes and the App Store will not work?, How do I fix my iPod I updated it to iOS 6 and now iTunes and the App Store will not work?
App Store Failure / Updates White Screen
Tap Settings > General > Date and Time > Set Automatically > Off. Set the date one year ahead. Then try to access the App Store.
It may be a connection issue. Try changing your DNS settings to Google’s open DNS by tapping Settings > Wi-Fi >, tap the blue arrow next to your current Wi-Fi network, and then tap the “DNS” field and enter the DNS servers; 8.8.8.8 (Google’s Public DNS, 8.8.4.4 also alternate). -
I have one ID for iCloud and one for purchases. Not working
I have a mess. When I migrated from Mobile Me that Apple ID was assigned to iCloud, but I have more than 5,000 songs plus more than 300 apps on another Apple ID.
According to Apple Document HT4895
http://support.apple.com/kb/HT4895
you can have this arrangement where iTunes match is set to the purchasing ID and iCloud is set to the other ID but it does not seem to work for me.
For example, how can I have iTunes match working with my purchasing Apple ID on my phone and at the same time be seeing my email, photo stream and contacts with my iCloud Apple ID on my phone at the same time?
Seems to me iTunes match does not work if your device is set to your purchasing ID and not your iCloud ID, and if it did work then you would not be able to see your email, photo stream and contacts from your iCloud Apple ID. Seems the Apple document is wrong.
It seems to me you can only have two IDs if you do hard wire synch and that iTunes match will not work except for the iCloud ID, which in my case only has 200 songs and not 5,000 songs.
Please help!!!!!I now got it to work. There are two places to input IDs on IOS5 devices. One for cloud and the other for itunes store and itunes match.
Maybe you are looking for
-
Why can't I open my start page on my hp laptop and the side screen won't open so I can turn it off
I can't open my start page and I can't shut off my computer even when I push the little window button on my laptop it won't open.I't will go to sleep when I push the power button .
-
Does the time capsule work with a pc and a mac?
I need to know whether or not I can save pc and mac files at the same time, on a time capsule.
-
Is it possible to work with different languages in different applications?
Hi, is it possible to work with different languages in different applications? To have f.e. Photoshop in English and Indesign in Dutch?? Thanks!
-
I need help with my remove method on a BST!
Guys I need some help here, I have to create a remove method for a BST and below is my code: public boolean remove(OrderedMap map, K keyOfelementToRemove) { boolean result = false; if (root == null) result = false;
-
Hello, What determines the Active Cell Position property node for a table control? I have this in my code and I am displaying its value to a front panel indicator. The value displayed is always set to 0,0. The help for the property node say that i