XPages Managed Bean ClassNotFoundException - xpages

I am trying to get a managed bean to work, when I preview the test page, I get an an error that it cannot instantiate the class and indicates a ClassNotFound exception.
The java classes are there and correct
The beans are in the faces-config file correctly.
I'm running designer 8.5.3.
What would be possible causes as to why the classes are not being found?
Thank you

As Per says, you need to provide some code examples so we can see if something is missing.
Also check out his blog post, http://per.lausten.dk/blog/2012/02/creating-your-first-managed-bean-for-xpages.html This is a great place to start and covers all the basics.
Simple thing like needing to implement 'Serializable' is commonly missed!

Related

Working Example of Method Call in richfaces

I have looked everywhere for the following issue, but unfortunately not able to find the solution. I an using JSF 2.2, richfaces, Netbeans 7.3.1 and GlassFish Server. I am trying to build a GUI for selecting multiple items in the rich:picklist, adding them to the right and clicking a submit button which would execute methods (having JDBC calls) associated with each of the selected items on the right and hence populating the tables in Database. Any working example would be greatly appreciated. Thanks!
You can see a live demo of all richfaces components here http://livedemo.exadel.com/richfaces-demo/
Here all the components usage and its tag information every thing is clearly given. Still if you feel any problem with understanding then you can post another question with a specific problem. The question you have asked is a very general one. no offense.
Hope above link helps you.

Webappclass loader unable to load superclass in a hook?

I am using liferay ce 6.1.0.I need to extend LayoutAction class in a hook.But the class cannot be loaded in the hook by the class loader
Caused by: java.lang.NoClassDefFoundError: com/liferay/portal/action/LayoutAction
java.lang.ClassNotFoundException: com.liferay.portal.action.LayoutAction
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
Is this the issue with the class loader or am I supposed use a different subclass of the following in order to extends.
Thanks in advance
I want to override includeLayoutContent() method of LayoutAction class in order to have a track on the number of views of a page.If this class cannot be extended,is there any other means or class which can be extended to achieve the same
com.liferay.portal.action.LayoutAction is in portal-impl.jar, which is not available to hooks. Therefor you cannot do this.
If you would give us a hint what you want to achieve with this, somebody might be able to tell you how to do what you want to do.
With your added information I'll give you a hint: Typically, a write operation for every pageview is considered to be quite expensive: Your portal's performance will suffer from this. I'd rather advise to use external tools like google anayltics, piwik or similar ones to generate statistics, including the pageviews for specific pages.
Another method, if you can live with the lower potential performance, is to embed such a method in your theme - the theme gets access to the current page and can execute additional functionality with this. Preferably you'll position this at the end of the page, when everything else has already been rendered and sent to the client.

How add custom method and fields to Liferay User model class

I want to add 3 more methods and one field to liferay.portal.model.User class. Anyone knows how can I do this? Can I switch the class by hook like this:
<service>
<service-type>com.liferay.portal.model.User</service-type>
<service-impl>my.pack.userExpanded</service-impl>
</service>
I want to have a close look at service builder but can't find good sources which will show how to switch liferay class with my own class (cause of too many uses).
So second question is does anyone know about some good tutorial or blogs regarding this? Especially I am interested in adding extra methods and fields.
The standard Liferay Developer Documentation is good:
http://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/overriding-a-portal-servi-4
Another alternative is to add Custom Fields to User entity:
You can't modify a liferay entity. Neither you can use hook to modify these things, hook can only modify limited things as suggested by the documentation.
I don't think you can even use a EXT to modify a liferay entity.
So now the what comes to my mind remains is to create custom-fields for your field requirement and build a helper utility class which will provide you with your required User methods.
You can make the helper class available to the portal by packaging in a jar and pasting it in the global path (in tomcat [TOMCAT_HOME]/lib/ext).

Alternative to t:selectOneRadio layout="spread"

I don't often have need for tomahawk components anymore since jsf 2.0 provides great selectOneMenu support and most of other functionality I used to use them for, but when it comes to a selectOneRadio component I don't know of another provider with a layout="spread" option. This is essential from time to time to achieve a certain layout I'm asked for.
I'm using Tomahawk for exactly this purpose but recently discovered some serialization issues caused by this component during failover. I was wondering if anyone has discovered another provider with similar "spread" functionality or if anyone has written/published an alternative based on h:selectOneRadio?
We also wanted to use the "spread" option - in our case for DDA compatibility (no using tables for layout) but for political reasons were unable to use Tomahawk. We ended up writing our own custom renderer for radio buttons and checkboxes.
It wasn't too hard, took me a few hours to get it working the way we wanted. I'm at home for a couple of days without access to the code base so I can't give you the exact code but it's a pretty simple matter of overriding the encodeBegin() and decodeBegin() (or encodeEnd() and decodeEnd() depending on your usecase) methods and writing the html appropriate for your application.

Seam component reuse - outjected #DataModel variable conflict

I need your suggestions as usual ;)
In my Seam app, there's a JSF view page processing 3 similar types of data, so I wrote a Seam component and would like to reuse it three times. The problem is, the component outjects some data used by the view into #DataModel variable. Now, is there a clever way to variate three conflicting variable names without using inheritance etc? If not, what kind of other approach would you suggest? Thanks in advance.
i suggest don't use outjection and use inheritance and just getters to access variable.
ie: #{bean1.var} #{bean2.var} #{bean3.var}

Resources