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