Някой тук писал ли е портлети ?
Интересуват ме само 1-2 неща най вече засягащи навигацията в сямия портлет.
В смисъл имам "n" наброи JSP-та и искам навигация в тях самите ..
гледам че има portlet:actionURL което пуска в случая :
public void processAction(ActionRequest aRequest, ActionResponse aResponse)
това добре , но не ми е ясно ако в Аctiona взема някакъв параметър от рекуеста после в doView например ако dispatch-на към различно URL в зависимост от параметъра в requesta нещо не сработва.
не ми е много ясно какво прави :
aResponse.setRenderParameter("парам",value);
Защо питам в форума линка към JSR 168 не работи от няколко дни и немога да сваля тъпата документация
не е реално момент да пеистна сорс за какво иде реч :
с 2 думи имам :
public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException
{
response.setRenderParameter("view2", "view2"); //тожа не ми е много ясно закакво е iskam prsoto pri natiskane na link ili buton da se hodi na view2 затова го забивам твърдо.
// Determine which action.
String okAction = request.getParameter(OK_ACTION);
String applyAction = request.getParameter(APPLY_ACTION);
if (okAction != null || applyAction != null)
{
// Save the preferences.
PortletPreferences prefs = request.getPreferences();
String param = request.getParameter(JFIRSTPORTLET_KEY);
prefs.setValues(JFIRSTPORTLET_KEY, buildValueArray(param));
prefs.store();
// If OK was pressed, redirect back to the view mode.
if (okAction != null)
{
response.setPortletMode(PortletMode.VIEW);
response.setWindowState(WindowState.NORMAL);
}
}
}
protected void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException, UnavailableException
{
response.setContentType("text/html");
String view2 = (String) request.getParameter("view2");
if(view2 != null)
{
request.setAttribute("view2", "view2"); // в случая не е нужно
PortletRequestDispatcher prd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/view2.jsp");
prd.include(request, response);
}
else
{
PortletRequestDispatcher prd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/view.jsp");
prd.include(request, response);
}
}
ето 2те JSPta
view :
<%@ page contentType="text/html" import="javax.portlet.*,java.util.*,org.joke.portlets.JFirstPortlet,org.joke.portlets.resource.JFirstPortletBundle"%>
<%@ taglib uri="
http://java.sun.com/portlet" prefix="portlet"%>
<portlet:defineObjects/>
<p class="portlet-font">Welcome, this is the
<%= renderRequest.getPortletMode().toString() %>mode.
</p>My First Portlet
<a href="<portlet:renderURL><portlet:param name="view2" value="view2"/></portlet:renderURL>">this</a>.<form></form>
view 2 :
<%@ page contentType="text/html" import="javax.portlet.*,java.util.*,org.joke.portlets.JFirstPortlet,org.joke.portlets.resource.JFirstPortletBundle"%>
<%@ taglib uri="
http://java.sun.com/portlet" prefix="portlet"%>
<portlet:defineObjects/>
<p class="portlet-font">Welcome, this is the
<%= renderRequest.getPortletMode().toString() %>mode.
</p>TOVA E STRANICA 2
проблема е че при натискане на линка на view си седи на view t.e. ne hodi kym view2 predpolagam zashtoto request.getParameter("view2") e null
da ne bi da trqbva s getAttribute da se vzima a ve kakvo pravi : response.setRenderParameter("view2", "view2"); nqkoi ima li ideq