<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-5110409192405715658</atom:id><lastBuildDate>Wed, 06 Nov 2024 03:03:40 +0000</lastBuildDate><category>Liferay</category><category>Action URL</category><category>Cron Expression</category><category>Cron Job</category><category>Liferay Scheduling</category><category>Liferay-UI error messages</category><category>Liferay-UI success messages</category><category>Render URL</category><category>Simple Liferay Scheduler</category><category>Spring MVC</category><category>jQuery</category><category>jQuery Form Validation</category><category>javascript</category><title>LIFERAY/JAVA Tech Blogs</title><description>A Developer&#39;s Blog with a difference</description><link>http://shashantpanwar.blogspot.com/</link><managingEditor>noreply@blogger.com (Anonymous)</managingEditor><generator>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5110409192405715658.post-8344945451819858238</guid><pubDate>Wed, 07 Aug 2013 19:48:00 +0000</pubDate><atom:updated>2013-08-07T15:48:57.388-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Cron Expression</category><category domain="http://www.blogger.com/atom/ns#">Cron Job</category><category domain="http://www.blogger.com/atom/ns#">Liferay</category><category domain="http://www.blogger.com/atom/ns#">Liferay Scheduling</category><category domain="http://www.blogger.com/atom/ns#">Simple Liferay Scheduler</category><title>Liferay Scheduler -- Simple/Cron Setup</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
This is a small post but very important for those who want to learn scheduling and who works on batch, automated tasks. Here, I am explaining how you can use liferay&#39;s simple &amp;amp; easy scheduling framework to automate your tedious day2day tasks.&lt;/div&gt;
&lt;br /&gt;
I&#39;m not kidding you can easily schedule your task with Liferay inbuilt Quartz scheduler with below mentioned 5 simple steps:&lt;br /&gt;
&lt;br /&gt;
1) Create a sample Liferay portlet where you want to implement your scheduler. You can create Generic,MVC or Spring.Scheduler is independent of the framework.&lt;br /&gt;
&lt;br /&gt;
2) Make the following change in &quot;liferay-portlet.xml&quot; file.&lt;br /&gt;
&lt;span style=&quot;background-color: #ffffef; color: #181818; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, monospace, serif; font-size: 12px; line-height: 22px; white-space: pre;&quot;&gt;        &lt;script src=&quot;http://pastebin.com/embed_js.php?i=ZHq9skGw&quot;&gt;&lt;/script&gt;&lt;/span&gt;&lt;br /&gt;
3) Define the scheduler time in &quot;simple-trigger-value&quot; or &quot;cron-trigger-value&quot; tag.&lt;br /&gt;
&lt;br /&gt;
4) Implement a scheduler class in your src folder. You can implement the method in your normal class &amp;nbsp;also but I would prefer creating a separate class. Implement &quot;MessageListener&quot; interface of Liferay and implement the unimplemented method of that interface.&lt;br /&gt;
&lt;b&gt;&quot;com.liferay.portal.kernel.messaging.MessageListener&quot;&lt;/b&gt;&lt;br /&gt;
Paste the below code in your scheduler implementation class:&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;color: #181818; font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, monospace, serif;&quot;&gt;&lt;span style=&quot;font-size: 12px; line-height: 22px; white-space: pre;&quot;&gt;&amp;nbsp;       &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffef; color: #181818; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, monospace, serif; font-size: 12px; line-height: 22px; white-space: pre;&quot;&gt;&lt;script src=&quot;http://pastebin.com/embed_js.php?i=zxVEUr1u&quot;&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;background-color: #ffffef; color: #181818; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, monospace, serif; font-size: 12px; line-height: 22px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
5) Deploy and scheduler will run at the defined time.&lt;br /&gt;
&lt;br /&gt;
See, all is done in simple 5 steps.&lt;br /&gt;
&lt;br /&gt;
Now, lets take them one by one. Creating a portlet is simple and an IDE do that for you easily.&lt;br /&gt;
&lt;br /&gt;
Next, we created an entry in &quot;liferay-portlet.xml&quot;. In this entry we are telling liferay about our scheduler class and which method to trigger.&lt;br /&gt;
Don&#39;t change the name of method from &quot;receive&quot; to something else.I wrote &quot;receive&quot; because I implemented Liferay&#39;s MessageListener interface which handles scheduler call.&lt;br /&gt;
&lt;br /&gt;
At Last, we are telling liferay that whether we are using Cron job or simple job.&lt;br /&gt;
For Cron, I would recommend you to read about Cron implementation from&amp;nbsp;&lt;b&gt;&lt;i&gt;&lt;a href=&quot;http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger&quot; target=&quot;_blank&quot;&gt;Cron Tutorial&lt;/a&gt;.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
In Simple job, we simple defined our task time-interval along with the unit (seconds,minute or hours).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
Visit below link to create your own Cron expression with a user friendly interface:&amp;nbsp;&lt;b&gt;&lt;i&gt;&lt;a href=&quot;http://www.cronmaker.com/&quot; target=&quot;_blank&quot;&gt;Cron Maker&lt;/a&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
Feel free to post your questions and doubts. Happy Learning :)&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://shashantpanwar.blogspot.com/2013/08/liferay-scheduler-simplecron-setup.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5110409192405715658.post-1958887795671156192</guid><pubDate>Wed, 31 Jul 2013 21:43:00 +0000</pubDate><atom:updated>2013-08-02T10:23:50.594-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Liferay</category><category domain="http://www.blogger.com/atom/ns#">Liferay-UI error messages</category><category domain="http://www.blogger.com/atom/ns#">Liferay-UI success messages</category><title>How to override/hide Liferay default error messages?</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Many people asked me this question &quot;how we can hide or override Liferay default error message with custom messages?&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpqTw6YBjc42Bfcv90GnQMvVaDKGIeiKqbT8gs7jEPSItYI_ufrLrrQCiWviTf_iGu6Qc8Jg2A9r8_B01e27XoAITpQv5mnX94EK91RSqJK5pVuW-MAM6BSuO-oazt3UpC_ELk63lmgqY/s1600/errorImage.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpqTw6YBjc42Bfcv90GnQMvVaDKGIeiKqbT8gs7jEPSItYI_ufrLrrQCiWviTf_iGu6Qc8Jg2A9r8_B01e27XoAITpQv5mnX94EK91RSqJK5pVuW-MAM6BSuO-oazt3UpC_ELk63lmgqY/s320/errorImage.png&quot; height=&quot;98&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
So, I thought of sharing this simple post explaining how to do this.&lt;br /&gt;
&lt;br /&gt;
There are 3 ways of doing this:&lt;br /&gt;
1) Hide the complete portal&#39;s default error messages.(Most client don&#39;t want this but some client does.)&lt;br /&gt;
2) Hide the default error messages for specific portlet.&lt;br /&gt;
3) Hide the messages with the help of CSS.(People generally don&#39;t use this method but sometime for some specific requirement you might need this).&lt;br /&gt;
&lt;br /&gt;
Let&#39;s take them one by one.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;1) Hide the complete portal&#39;s default error messages.&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
In order to accomplish this, we need to create a hook of &quot;end.jsp&quot; file(html/taglib/ui/error).&lt;br /&gt;
&lt;br /&gt;
end.jsp file pops liferay error messages.&lt;br /&gt;
&lt;br /&gt;
Hook is a liferay functionality provided to override liferay&#39;s default functionality. You can create hook for custom jsps, language properties, services and portal properties.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;1.1) In your project create a liferay-hook.xml file with below content:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;span style=&quot;background-color: #ffffef;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #ffffef; color: #181818; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, monospace, serif; font-size: 12px; line-height: 22px; white-space: pre;&quot;&gt;      &lt;script src=&quot;http://pastebin.com/embed_js.php?i=di6tvt6X&quot;&gt;&lt;/script&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
This will tell liferay to pick new custom &quot;end.jsp&quot; from custom_jsps folder.&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Folder structure will be like this: &lt;b&gt;/custom_jsps/html/taglib/ui/error/end.jsp&lt;/b&gt;&lt;/blockquote&gt;
If you are using Liferay IDE then it will create the folder structure itself else create the structure and add end.jsp.&lt;br /&gt;
To disable the default message comment code from line 21 till line 33. Just comment that piece of code, deploy the hook and you are all set.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;background-color: #ffffef; color: #181818; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, monospace, serif; font-size: 12px; line-height: 22px; white-space: pre;&quot;&gt;&lt;script src=&quot;http://pastebin.com/embed_js.php?i=GuNce6cu&quot;&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p5&quot;&gt;
&lt;span class=&quot;s13&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhGUhjCNu2YNBl5kLMGnITBfRwZXQOGVuAgPMCUc2Gp9lieUwxshcfPwa4EQDcuyKYEaqtrQig1wb6n4ungNgdrcL2Os_k9XRzmlEKTfhQP2q3eKL2yGSScEVrBQhxb36b6t5I6XYwgXE/s1600/customMsg.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhGUhjCNu2YNBl5kLMGnITBfRwZXQOGVuAgPMCUc2Gp9lieUwxshcfPwa4EQDcuyKYEaqtrQig1wb6n4ungNgdrcL2Os_k9XRzmlEKTfhQP2q3eKL2yGSScEVrBQhxb36b6t5I6XYwgXE/s1600/customMsg.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;p5&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span class=&quot;s13&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&amp;nbsp; &lt;br /&gt;
&lt;u&gt;&lt;b&gt;2) Hide the default error messages for specific portlet&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
For this we will follow the same steps for creating the hook and extending the end.jsp.&lt;br /&gt;
Only change will be of adding a check for our specific portlet.&lt;br /&gt;
&lt;br /&gt;
In end.jsp, instead of commenting the code which we comment in the above method we will add a check for our specific portlet using portlet Id.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;p4&quot;&gt;
&lt;span style=&quot;background-color: #ffffef; color: #181818; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, monospace, serif; font-size: 12px; line-height: 22px; white-space: pre;&quot;&gt;             &lt;script src=&quot;http://pastebin.com/embed_js.php?i=MY6vMYY4&quot;&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p5&quot;&gt;
&lt;span class=&quot;s13&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p5&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span class=&quot;s13&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhGUhjCNu2YNBl5kLMGnITBfRwZXQOGVuAgPMCUc2Gp9lieUwxshcfPwa4EQDcuyKYEaqtrQig1wb6n4ungNgdrcL2Os_k9XRzmlEKTfhQP2q3eKL2yGSScEVrBQhxb36b6t5I6XYwgXE/s1600/customMsg.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhGUhjCNu2YNBl5kLMGnITBfRwZXQOGVuAgPMCUc2Gp9lieUwxshcfPwa4EQDcuyKYEaqtrQig1wb6n4ungNgdrcL2Os_k9XRzmlEKTfhQP2q3eKL2yGSScEVrBQhxb36b6t5I6XYwgXE/s1600/customMsg.png&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;3) Hide the messages with the help of CSS&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
I actually don&#39;t recommend this approach but sometime we do need this. Basically with help of css we are hiding our error messages or success messages.&lt;br /&gt;
Mostly used inside specific jsps instead of making generic.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span class=&quot;s1&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;b&gt;portlet-msg-error{&lt;/b&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; display : none;&lt;/b&gt;&lt;b&gt;}&lt;/b&gt;&lt;/blockquote&gt;
&lt;/blockquote&gt;
Note:&lt;br /&gt;
If you don&#39;t know how to create a hook , please refer liferay wiki. It&#39;s simple and easy.&lt;br /&gt;
Also, refer the below link for further details on error &amp;amp; success messages:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.liferay.com/community/wiki/-/wiki/Main/User+Feedback+-+Success+and+Error+Messages+in+Portlets&quot; target=&quot;_blank&quot;&gt;Liferay error &amp;amp; success messages Wiki&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Feel free to ask any question and Happy Learning :)&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: Menlo, monospace; font-size: 11px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</description><link>http://shashantpanwar.blogspot.com/2013/07/how-to-overridehide-liferay-default.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpqTw6YBjc42Bfcv90GnQMvVaDKGIeiKqbT8gs7jEPSItYI_ufrLrrQCiWviTf_iGu6Qc8Jg2A9r8_B01e27XoAITpQv5mnX94EK91RSqJK5pVuW-MAM6BSuO-oazt3UpC_ELk63lmgqY/s72-c/errorImage.png" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5110409192405715658.post-5473883164161266298</guid><pubDate>Tue, 30 Jul 2013 19:19:00 +0000</pubDate><atom:updated>2013-08-02T10:09:42.788-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">javascript</category><category domain="http://www.blogger.com/atom/ns#">jQuery</category><category domain="http://www.blogger.com/atom/ns#">jQuery Form Validation</category><category domain="http://www.blogger.com/atom/ns#">Liferay</category><title>A simple jQuery Form Validation</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Here I am creating a simple jQuery form validation consist of a user form, custom js file, jQuery.js and jQuery-validation.js.&lt;br /&gt;
&lt;br /&gt;
Both jQuery js &amp;amp; jQuery-validation.js file you can download from the below jQuery site and I would highly recommend to go through the API-documentation if you have time.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://jqueryvalidation.org/&quot; target=&quot;_blank&quot;&gt;jQuery Validation JS&lt;/a&gt;&amp;nbsp;---&amp;nbsp;&lt;a href=&quot;http://jqueryvalidation.org/documentation/&quot; target=&quot;_blank&quot;&gt;jQuery Validation API Documentation&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://jquery.com/download/&quot; target=&quot;_blank&quot;&gt;Download jQuery&lt;/a&gt;&amp;nbsp;---&amp;nbsp;&lt;a href=&quot;http://api.jquery.com/&quot; target=&quot;_blank&quot;&gt;jQuery API Documentation&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
First, we will create a simple form with labels and input tabs.&lt;br /&gt;
&lt;br /&gt;
It is not required to have labels, but a good practice suggests that we should use label with our inputs.&lt;br /&gt;
I used both in the below code just to explain validation works irrespective of labels(I got this question many times, so thought of trying that).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;script src=&quot;http://pastebin.com/embed_js.php?i=WTwxJk84&quot;&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p2&quot;&gt;
Second, we need a js file (you can add the js code inside html or jsp file too inside the &quot;Script&quot; tag.I added a separate js because I follow that pattern.)&lt;br /&gt;
In your js file add the below code to validate the form input fields.&lt;br /&gt;
Make sure you added jQuery.js and jQuery-validation.js else the below code will not work and you will get error in your web dev tool console.&lt;br /&gt;
&lt;br /&gt;
As I told you earlier, I am creating a simple jQuery validation form. So, here I am only implementing rules, different messages and what action to perform after successful validation.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;background-color: #ffffef; color: #181818; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, monospace, serif; font-size: 12px; line-height: 22px; white-space: pre;&quot;&gt;&lt;script src=&quot;http://pastebin.com/embed_js.php?i=xMEbCLBB&quot;&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
Thats all you need to do and form is ready to validate via jQuery validation framework.&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;b&gt;Note:&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;p1&quot;&gt;
Don&#39;t forget to add jQuery.js and jQuery-validation.js in you project.&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://shashantpanwar.blogspot.com/2013/07/a-simple-jquery-form-validation.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5110409192405715658.post-2204468668597242804</guid><pubDate>Fri, 26 Jul 2013 03:13:00 +0000</pubDate><atom:updated>2013-08-02T10:15:20.651-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Action URL</category><category domain="http://www.blogger.com/atom/ns#">Liferay</category><category domain="http://www.blogger.com/atom/ns#">Render URL</category><category domain="http://www.blogger.com/atom/ns#">Spring MVC</category><title>Liferay portlet with Spring MVC</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;i&gt;&lt;a href=&quot;http://www.opensource-techblog.com/2012/09/spring-mvc-portlet-in-liferay.html&quot; target=&quot;_blank&quot;&gt;How to setup a liferay portlet with Spring MVC?&lt;/a&gt;&lt;/i&gt;&lt;/h4&gt;
&lt;div&gt;
&lt;div&gt;
Again, a nicely written and very well explained blog by Nilang Patel explaining the complete setup of a liferay portlet with Spring MVC.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Here you will find one more blog on how to setup render and action method in Spring MVC portlet.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;i&gt;&lt;u&gt;Few things which I want to highlight here:&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
You can implement diff mode of Liferay portlet within the same Controller.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Below I added a code snippet from my Controller class.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: #ffffef; color: #181818; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, monospace, serif; font-size: 12px; line-height: 22px; white-space: pre;&quot;&gt;&lt;script src=&quot;http://pastebin.com/embed_js.php?i=i6SFtRuZ&quot;&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Here I am telling the controller which method serve which mode of the portlet.Now, lets say you want to implement one more method. One action method name=”submitForm”.Now in that case you need to first annotate the method with @ActionMapping(params = “actionParameterName=actionParameterValue”) along with @RequestMapping(“VIEW”) annotation.I put view because I want to tell controller that I want o perform this action method on portlet’s VIEW mode.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: #ffffef; color: #181818; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, monospace, serif; font-size: 12px; line-height: 22px; white-space: pre;&quot;&gt;&lt;script src=&quot;http://pastebin.com/embed_js.php?i=nqy0Mi3K&quot;&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Feel free to ask your queries and Happy learning :)&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><link>http://shashantpanwar.blogspot.com/2013/07/liferay-portlet-with-spring-mvc.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>1</thr:total></item></channel></rss>