Download portlet from following link
Steps to create DWR Portlet
Create
MVC portlet using Liferay IDE
Configure
DWR serve let in portlet web.xml file.
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>activeReverseAjaxEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>initApplicationScopeCreatorsAtStartup</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>maxWaitAfterWrite</param-name>
<param-value>-1</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
|
Create
dwr.xml file in WEB-INF directory of your portlet
Add
following tags in dwr.xml
<?xml version="1.0"
encoding="UTF-8"?>
<!DOCTYPE dwr
PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
</allow>
</dwr>
|
Create
Java class based on your need
In my example my java class is
com.meere.dwr.Person.java
Configure
java class in dwr.xml files
<?xml version="1.0"
encoding="UTF-8"?>
<!DOCTYPE dwr
PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
<create creator="new" javascript="Person">
<param name="class"
value="com.meera.dwr.Person"/>
</create>
</allow>
</dwr>
|
Access
your java class in your jsp page i.e. Client
side
Add
following java script file in your jsp
<script type='text/javascript'
src='<%=renderRequest.getContextPath()%>/dwr/interface/Person.js'>
</script>
<script
type='text/javascript' src='<%=renderRequest.getContextPath()%>/dwr/engine.js'>
</script>
|
Note:
In above Person.js and engine.js file physically not
existed any where don’t worry .
And whatever the attribute value you used for JavaScript
in dwr.xml file by that name your client
side java script will be created i.e. in my case Person.js
dwr.xml
<create creator="new"
javascript="Person">
<param name="class" value="com.meera.dwr.Person"/>
</create>
Java
script call in jsp page
<script type='text/javascript' src='<%=renderRequest.getContextPath()%>/dwr/interface/Person.js'>
</script>
Engine.js is common for all….
<script type='text/javascript'
src='<%=renderRequest.getContextPath()%>/dwr/engine.js'>
</script>
Final code in jsp page
<script type='text/javascript' src='<%=renderRequest.getContextPath()%>/dwr/interface/Person.js'> </script>
<script type='text/javascript'
src='<%=renderRequest.getContextPath()%>/dwr/engine.js'> </script>
<h1>Sample Liferay
DWR portlet</h1>
<button id="checkDwr">GetName Using DWR</button>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("#checkDwr").click(function(){
Person.getData(42, {
callback:function(str) {
alert(str);
}
});
});
});
</script>
|
Liferay
version 6.1x
More details go through following
links
0 comments :
Post a Comment