Article: Developing Portlets using JSF, Ajax, and Seam (Part 2 of 3)
This article, the second in a three-part series by Wesley Hales, expands upon the previous article by introducing RichFaces. It covers integrating RichFaces into the previous sample application, deploying a RichFaces portlet, and several features and capabilities of RichFaces.
From the article:
One thing I will explain before we get started is the difference in JBoss Portal installations between this article and the previous one. In the last article we deployed to a JBoss App Server running the lightweight Portlet Container 2.0 demo. Since that article was published, we have released JBoss Portal 2.7 as a beta. This combines the old JSR-168 implementation of JBoss Portal with the new Portlet 2.0 implementation, giving us the ability to run 1.0 and 2.0 portlets in the standard JBoss Portal project. So if keeping track of what version you should be using seems confusing, it's not. Just keep in mind that JBoss Portal 2.7 is the ultimate combination of everything we have to offer and versions 2.6.x are the supported stable releases that only support JSR-168 (portlet 1.0).
Read the full article here.
Excellent series so far!
by
John Haselden
John
Thinking in Seam
Please provide an example to use JBoss Portal services with a4J
by
vineet tripathi
org.hibernate.HibernateException: Unable to locate current JTA transactio
Please provide an example that uses these services with ajax.
avoid "unable to locate current JTA transaction" for a4j & portal services
by
vineet tripathi
1)You need to demarcate your action with a JTA transaction:
/*
*
* Start transaction
*/
boolean isNewTransaction = true;
InitialContext ctx=null;
UserTransaction tx=null;
try{
ctx = new InitialContext();
tx = (UserTransaction)ctx.lookup("UserTransaction");
System.out.println("transaction tx is>>>>>>>>>>>>>"+tx);
tx.begin();
}catch(Exception e){
System.out.println("Exception occured>>>>>>"+e.getMessage());
isNewTransaction = false;
// e.printStackTrace();
}
/*
*
* Start transaction end
*/
/***Perform your actions by calling the JBoss portal services ****/
/**commit the transaction
*
*/
if(isNewTransaction){
try{
tx.commit();
System.out.println("Transaction commited *********************");
}catch(Exception e){
// log.info("Exception occured");
System.out.println("Exception>>>>>>"+e.getMessage());
}
}
/**
* commit the transaction
*/
If you are creating or destroying a portal object you need to load the object using following method to sync up your VO with Db:
portalObjectContainer.getObject(objectId);
Educational Content
Java Garbage Collection Distilled
Martin Thompson Jun 17, 2013
C++11 The Future is Here
Bjarne Stroustrup Jun 16, 2013
The Big Data Revolution
Claudia Perlich Jun 16, 2013
Engines of Abstraction
Jim Duey Jun 13, 2013
Behavior-driven Development
Liz Keogh Jun 13, 2013




Hello stranger!
You need to Register an InfoQ account or Login to post comments. But there's so much more behind being registered.Get the most out of the InfoQ experience.
Tell us what you think