论坛首页 Java企业应用论坛

JBoss Portal ActionURL

浏览 1385 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2008-11-12   最后修改:2008-11-12


Portlet有两种URL:
   1. renderResponse.createRenderURL();
   2. renderResponse.createActionURL();
这两种URL是Portlet处理的两个阶段:
[img]/upload/attachment/49259/1a6ad96a-4225-31c8-80e2-f1e43e80b2a6.jpg
[/img]
所以如果想在Portlet的processAction中处理创建Action时的参数,你必须使用Action URL.

    测试的code.

JSP中创建URL并在Form的Action中使用,如果对标签熟悉可以用标签创建.
   1. <%
   2.     PortletURL updateCompanyName=renderResponse.createActionURL();
   3.     updateCompanyName.setParameter(Constant.SERVICE_NAME,CompanyPortlet.SERVICE_UPDATE_COMPANY_NAME);
   4.  %>
   5. <form name="updateCompanyName" action="<%=updateCompanyName%>" method="post">
6.

在Portlet的processAction获取参数:

   1. public void processAction(ActionRequest request, ActionResponse response) throws PortletException, java.io.IOException {
   2.         String serviceName=request.getParameter(Constant.SERVICE_NAME);
   3.         System.out.println("serviceName="+serviceName);
   4.     }

比较奇怪的一点在JBoss中Form中的Action必须明确写成

    method=Post

Portlet中的processAction才能获得参数。所以,如果要让你创建的URL能够被Portlet的processAction截获;

第一你需要创建的是ActionURL;

第二如果在Form中使用method=post是必须的.
  • 大小: 48.1 KB
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics