liferay - Render()'s Method different reactions -


i have render() method no code.

and have action-method:

@processaction(name = "viewbook") public void viewbook(actionrequest actionrequest,actionresponse actionresponse) throws systemexception, portalexception {     long bookid = paramutil.getlong(actionrequest, "bookid");     book book = booklocalserviceutil.getbook(bookid);     actionrequest.setattribute(finalstrings.book_entry, book);     actionresponse.setrenderparameter("jsppage", "/html/libraryportlet/view_book.jsp"); 

how can rewrite "get" method render() method? mean need run

public void render(renderrequest renderrequest, renderresponse renderesponse){     super.render(renderrequest, renderresponse)  } 

in default situation ,

 public void render(renderrequest renderrequest, renderresponse renderesponse){      \\this code not working, it's show want!      long bookid = paramutil.getlong(actionrequest, "bookid");     book book = booklocalserviceutil.getbook(bookid);     actionrequest.setattribute(finalstrings.book_entry, book);     actionresponse.setrenderparameter("jsppage", "/html/libraryportlet/view_book.jsp"); 

when need use viewbook() method. how can parametrize(?) render() method?


update:

for more details attached 1 screenshot:

it's portlet

meanwhile in action.jsp:

<liferay-ui:icon-menu>      <portlet:actionurl name="deletebook" var="deleteurl">          <portlet:param name="bookid"             value="${string.valueof(book.getbookid())}" />      </portlet:actionurl>       <portlet:renderurl name="viewbook" var="viewurl">         <portlet:param name="bookid"             value="${string.valueof(book.getbookid())}" />      </portlet:renderurl>       <portlet:renderurl  var="editbookurl" name="viewedit">         <portlet:param name="bookid"    value="${string.valueof(book.getbookid())}" />      </portlet:renderurl>  <liferay-ui:icon image="add" message="view" url="${viewurl.tostring()}" /> <liferay-ui:icon image="add" message="edit" url="${editbookurl.tostring()}" /> <liferay-ui:icon-delete image="delete" message="delete" url="${deleteurl.tostring()}" /> 

in view_book.jsp:

<%@page import="com.softwerke.finalstrings"%> <%@page import="com.softwerke.model.book"%> <%@page import="com.softwerke.service.booklocalserviceutil"%> <%@page import="com.liferay.portal.kernel.util.paramutil"%> <%@ include file="/html/init.jsp"%>  <portlet:renderurl var="backurl">     <portlet:param name="jsppage" value="/html/view.jsp"/> </portlet:renderurl>  <liferay-ui:header backurl="${backurl}" title="back" />  <%     book book = (book) request.getattribute(finalstrings.book_entry); %>   <aui:form>      <aui:model-context bean="${book}" model="${book.class}" />      <aui:input name="bookname" label="book name" disabled="true"/>      <aui:input type="textarea" name="description" label="description"  disabled="true"/>      <aui:input name="authorname" label="author name" disabled="true"/>      <aui:input name="price" label="price" disabled="true"/>         </aui:form> 

according task can not use action url here. should do???

you can send command param render, can split logic 2 or more render methods, depending on command, or maybe easier, invoke mvcpath without need of implementing in render(). include in jsp list of books:

<portlet:renderurl var="mybookurl">     <portlet:param name="mvcpath" value="/view_book.jsp" />     <portlet:param name="bookid" value="<%= somebookid %>" /> </portlet:renderurl>  <a href="<%= mybookurl %>">view book</a> 

you need view_book.jsp like:

<% long bookid = paramutil.getlong(request, "bookid"); book book = booklocalserviceutil.getbook(bookid); %> 

hope helps.


Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -