<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Liferay 7.2 - Increment java variable in javascript</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=117345995" />
  <subtitle>Liferay 7.2 - Increment java variable in javascript</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=117345995</id>
  <updated>2026-04-04T18:42:36Z</updated>
  <dc:date>2026-04-04T18:42:36Z</dc:date>
  <entry>
    <title>RE: Liferay 7.2 - Increment java variable in javascript</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=117350273" />
    <author>
      <name>Fabio Carvalho</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=117350273</id>
    <updated>2019-10-03T17:15:47Z</updated>
    <published>2019-10-03T17:15:47Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;Hi Olaf,&lt;br&gt;&lt;br&gt;Ok, I understood. I modified my code a bit:&lt;br&gt;&lt;pre&gt;&lt;code&gt;&amp;amp;lt;% List&amp;lt;datasource&amp;gt; dataSources = (List&amp;lt;datasource&amp;gt;) request.getAttribute("dataSources"); %&amp;amp;gt;
&amp;lt;portlet:resourceurl var="changePageURL" /&amp;gt;

&amp;lt;aui:container cssclass="data-sources-container"&amp;gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;lt;% for (int i = 0; i &amp;amp;lt; dataSources.size(); i++) { %&amp;amp;gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; // populate according to my dataSources&amp;amp;nbsp; &amp;amp;nbsp; 
    &amp;amp;lt;% } %&amp;amp;gt;
&amp;lt;/aui:container&amp;gt;

&amp;lt;aui:container cssclass="pagination-container"&amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;lt;button type="button" onclick="nextPage()"&amp;gt; &amp;lt;liferay-ui:message key="next.page" /&amp;gt; &amp;lt;/button&amp;gt;
&amp;lt;/aui:container&amp;gt;

&amp;lt;script&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;var pageNumber = 0;

&amp;nbsp;&amp;nbsp; &amp;nbsp;function nextPage() {
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;pageNumber++;
&amp;nbsp; &amp;nbsp; &amp;nbsp;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AUI().use('aui-io-request', function(A){
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A.io.request('${changePageURL}', {
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;method: 'post',
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;data: {
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;portlet:namespace /&amp;gt;pageAction: 'next',
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;portlet:namespace /&amp;gt;pageNumber: pageNumber
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;});
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;});
&amp;nbsp;&amp;nbsp; &amp;nbsp;}
&amp;lt;/script&amp;gt;&amp;lt;/datasource&amp;gt;&amp;lt;/datasource&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;And in my Java class:&lt;pre&gt;&lt;code&gt;@Override
public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws IOException, PortletException {&amp;amp;nbsp;
&amp;amp;nbsp; &amp;amp;nbsp; int pageNumber = ParamUtil.getInteger(resourceRequest, "pageNumber");
&amp;amp;nbsp; &amp;amp;nbsp; 
&amp;amp;nbsp;   for (int i = pageNumber * 16 + 1; i &amp;amp;lt;= pageNumber * 16 + 16; i++)&amp;amp;nbsp;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; dataSources.add(new DataSource(i));
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;
&amp;amp;nbsp; &amp;amp;nbsp; resourceRequest.setAttribute("dataSources", dataSources);
&amp;amp;nbsp; &amp;amp;nbsp; super.serveResource(resourceRequest, resourceResponse);
}&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;Ok, now I can get the pageNumber on my Java class and create new objects and set it as attribute. &lt;br&gt;&lt;br&gt;Now, can I somehow refresh the container of&amp;nbsp;my view.jsp to populate with those new dataSources? Maybe refresh the attribute on my view.jsp and recreate only the dataSources container.&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Fabio Carvalho</dc:creator>
    <dc:date>2019-10-03T17:15:47Z</dc:date>
  </entry>
  <entry>
    <title>RE: Liferay 7.2 - Increment java variable in javascript</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=117346350" />
    <author>
      <name>Olaf Kock</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=117346350</id>
    <updated>2019-10-03T12:40:21Z</updated>
    <published>2019-10-03T12:40:21Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;div class="quote-title"&gt;Fabio Carvalho:&lt;/div&gt;&lt;blockquote&gt;&lt;br&gt;&lt;pre&gt;&lt;code&gt;&amp;amp;lt;% int pageNumber = 1; %&amp;amp;gt;

&amp;lt;script&amp;gt;
&amp;nbsp; &amp;nbsp; AUI().ready('aui-base', function(A) {
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;A.one('#nextPage').on('click', function() {
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;% pageNumber++; %&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;alert(&amp;lt;%= pageNumber %&amp;gt;);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; addSomething();
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;});
&amp;nbsp;&amp;nbsp; &amp;nbsp;});
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;What I want to do is increment the pageNumber when I click "Next Page", and I will get my data according to this pageNumber. The problem is that doing like this, the pageNumber is not incrementing. The alert keep showing me the pageNumber = 1. How should I increment my java variable on javascript?&lt;br&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;It doesn't work this way. While the JSP is processed server side, it's generating output. Once that's done, you'll get HTML code that translates roughly to this:&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;script&amp;gt;
&amp;nbsp; &amp;nbsp; AUI().ready('aui-base', function(A) {
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;A.one('#nextPage').on('click', function() {
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;alert(1);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; addSomething();
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;});
&amp;nbsp;&amp;nbsp; &amp;nbsp;});
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;During evaluation of your Javascript function, there's no communication between the server and the browser, and all the code limited by &amp;lt;% %&amp;gt; has already been evaluated, and the code in &amp;lt;%= %&amp;gt; has been embedded in the generated HTML output. Thus, the browser never ever sees your java variable and couldn't care less how the page was generated (look at the generated HTML code: There's no trace left. &lt;br&gt;Depending on what actually happens, you'll (most likely) need to initialize your pageNumber to some value derived from a HTTP parameter, rather than always to 1. Or use a different approach - e.g. fully in Java or fully in Javascript.&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Olaf Kock</dc:creator>
    <dc:date>2019-10-03T12:40:21Z</dc:date>
  </entry>
  <entry>
    <title>Liferay 7.2 - Increment java variable in javascript</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=117345994" />
    <author>
      <name>Fabio Carvalho</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=117345994</id>
    <updated>2019-10-03T11:51:41Z</updated>
    <published>2019-10-03T11:51:41Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;Hi,&lt;br&gt;I have the following code on my view.jsp:&lt;pre&gt;&lt;code&gt;&amp;amp;lt;% int pageNumber = 1; %&amp;amp;gt;

&amp;lt;aui:container&amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;lt;span id="nextPage"&amp;gt; &amp;lt;liferay-ui:message key="next.page" /&amp;gt; &amp;lt;/span&amp;gt;
&amp;lt;/aui:container&amp;gt;

&amp;lt;script&amp;gt;
&amp;nbsp; &amp;nbsp; AUI().ready('aui-base', function(A) {
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;A.one('#nextPage').on('click', function() {
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;% pageNumber++; %&amp;gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;alert(&amp;lt;%= pageNumber %&amp;gt;);
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; addSomething();
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;});
&amp;nbsp;&amp;nbsp; &amp;nbsp;});

&amp;nbsp; &amp;nbsp; function addSomething() {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;%&amp;nbsp; for (int i = &amp;lt;%= pageNumber * 16 %&amp;gt;;&amp;nbsp; i &amp;lt; pageNumber * 16; i++)&amp;nbsp;%&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // will append some html
&amp;nbsp;   }
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;What I want to do is increment the pageNumber when I click "Next Page", and I will get my data according to this pageNumber. The problem is that doing like this, the pageNumber is not incrementing. The alert keep showing me the pageNumber = 1. How should I increment my java variable on javascript?&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Fabio Carvalho</dc:creator>
    <dc:date>2019-10-03T11:51:41Z</dc:date>
  </entry>
</feed>
