Liferay7 BPM门户开发之39: Form表单提交的ProcessAction处理

在v6.2开始后,需要设置<requires-namespaced-parameters>false</requires-namespaced-parameters>  来避免在jsp中写<portlet:namespace/>的input前缀

在v7.0发现,注解方式是不灵的!

即  "javax.portlet.requires-namespaced-parameters=false", 无效果, 真是汗...

但我们是有办法在7.0中解决的,直接上代码

jsp:

<%@page import="com.liferay.portal.kernel.portlet.LiferayPortletMode"%>
<%@page import="com.liferay.portal.kernel.portlet.LiferayWindowState"%>
<%@ include file="/init.jsp" %>

<p>
    <b><liferay-ui:message key="com_lifiti_parts_ComLifitiPartsmvcportlet.caption"/></b>
</p>


<liferay-portlet:renderURL var="openPortletURL" copyCurrentRenderParameters="true" portletMode="<%=LiferayPortletMode.VIEW.toString() %>" 
  windowState="<%=LiferayWindowState.NORMAL.toString()%>">
  <liferay-portlet:param name="param" value="参数的值"/>
</liferay-portlet:renderURL>
<c:set var="submit"><liferay-ui:message key="com_lifiti_parts_ComLifitiPartsmvcportlet.submit"/></c:set>
<a href="${openPortletURL}">Render Url created</a>

<portlet:actionURL var="sendURL" name="send">  
</portlet:actionURL>  
  
<form action="${sendURL}" method="post" name="fm">  
    <aui:input name="name" label="Name" id="name"/> 
    <input type="text" id="age" name="age" />  
    <input type="text" name="<portlet:namespace/>phone" />  
     <input type="submit" value="${submit}"></input>  
</form>  

 

portlet java

package com.lifiti.portlet;

import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet;
import com.liferay.portal.kernel.util.ParamUtil;

import java.io.IOException;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.Portlet;
import javax.portlet.PortletException;
import javax.portlet.ProcessAction;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;

import org.osgi.service.component.annotations.Component;

@Component(
    immediate = true,
    property = {
        "com.liferay.portlet.display-category=category.sample",
        "com.liferay.portlet.instanceable=true",
        "javax.portlet.requires-namespaced-parameters=false",没效果!
        "javax.portlet.display-name=com.lifiti.parts Portlet",
        "javax.portlet.init-param.template-path=/",
        "javax.portlet.init-param.view-template=/view.jsp",
        "javax.portlet.resource-bundle=content.Language",
        "javax.portlet.security-role-ref=power-user,user"
    },
    service = Portlet.class
)
public class FirstPortlet extends MVCPortlet {
  private static final Log _log = LogFactoryUtil.getLog(FirstPortlet.class.getName());
  
  @Override
  public void render(RenderRequest request, RenderResponse response)
  throws PortletException, IOException {
   _log.info(" This is render method of RenderURLByLiferayTagPortlet");
  
    String data = request.getParameter("param");
    String data1= ParamUtil.getString(request, "param","");
    System.out.println("parameter with request.getParameter is =>"+data);
    System.out.println("parameter with ParamUtil.getString is =>"+data1);
    
   super.render(request, response);
  }
  
  @ProcessAction(name="send")  
  public void ReceiveData(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {  
      String name = ParamUtil.getString(actionRequest, "name"); 
      String age = ParamUtil.getString(actionRequest, "age"); 
      String phone = ParamUtil.getString(actionRequest, "phone"); 
          _log.info(" 开始接收数据");
          System.out.println("FirstPortlet.java  name = " + name);  
          System.out.println("FirstPortlet.java  age = " + age);  
          System.out.println("FirstPortlet.java  phone = " + phone);  
      }  
}

 

界面:

运行的结果:

name = 王昕

age =

phone = 123

 

我们发现age是空的,看来说明如果用input元素,那还得写<portlet:namespace/> ,要么就用AUI,应该问题会比较少

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
Java作为一种广泛应用于企业级开发的编程语言,拥有众多开源的门户网站开发框架可供选择。以下是几种比较有名的门户网站开发框架: 1. Liferay Portal Liferay是一个基于Java的企业门户网站开发框架,提供了完整的Web内容管理和协同工作平台。Liferay Portal拥有模块化的架构,允许开发者快速构建具有高可扩展性、安全性和可定制化的网站。此外,Liferay也提供了一流的社交化和移动化功能。 2. Apache Jetspeed Apache Jetspeed是一种轻量级、可扩展的企业级门户网站应用开发框架。Jetspeed提供了MEP(门户的个性化)和堆栈组件,以支持复杂的部署场景。Jetspeed还具有一套强大的社交化和协同工作特性,包括协作、工作流、在线文档和任务管理等。 3. uPortal uPortal是一个轻量级、可扩展的开源门户应用开发框架,可以用于构建各种用户信息门户和web应用。它支持标准的Java EE(Enterprise Edition)开发技术,并提供多种集成方式。uPortal拥有强大的社交化和移动化特性,并提供了丰富的主题和布局风格的支持。 4. GateIn GateIn是一个基于Java的企业级门户应用开发框架,它支持模块化架构、扩展性和可定制化。GateIn提供了可插拔式的组件和微内核架构,使开发者可以更轻松地构建复杂的门户应用。GateIn还具有特性化的社交化、搜索和移动化技术。 以上是四种比较受欢迎的Java门户网站开发框架,它们都拥有丰富的功能和特性,可以满足企业和个人需求,为开发者提供了多种选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值