【liferay】6、关于liferay中使用requestMapping映射地址提交表单
1、接着上一篇博客,从新在定义一下页面
<%@ page contentType="text/html; charset=utf-8" language="java"pageEncoding="utf-8"%> <%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><meta http-equiv="expires" content="0"> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"><portlet:defineObjects /> <!-- 获取根目录 --> <!-- 这个是用来定义一个参数 --> <c:set var="basepath" value="${pageContext.request.contextPath }" />这个spring portlet 的message为 ${message }<form action="${basepath }/samplecontroller/testac" name="<portlet:namespace />fm" id="<portlet:namespace />fm"method="post"><ul><li><input type="text" id="firstParams" /></li><li><input type="submit" value="直接提交" /></li></ul> </form>
2、修改spring配置文件
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.3.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.3.xsd"><context:component-scan base-package="com.xiaof.springportlet.*"></context:component-scan><bean id="sampleController" class="com.xiaof.springportlet.controller.SampleController"><!-- 这里可以配置的属性有4个,原谅我的英语不好,基本都是百度翻译,requireSession: 标识这个控制器是否需要一个session来工作,这个功能适用所有controller,当前controller使用的不是当前控制器的session的时候,抛出SessionRequiredExceptionsynchronizeSession(synchronizeOnSession 4.3版本):如果需要controller在用户回话上保持同步指定这个,如果指定此变量扩展控制器覆盖handlerenderrequestinternal(..)和handleactionrequestinternal(..)方法,并将同步用户的会话。注意实际应该是:synchronizeOnSession而不是synchronizeSessionrenderWhenMinimized:如果您希望控制器在portlet处于最小化状态时实际呈现视图,请将其设置为true。默认情况下,此设置为false,portlet,在最小化状态,不显示任何内容。cacheSeconds:当您想要控制器重写portlet定义的默认缓存过期时,在这里指定一个正整数。默认情况下,它被设置为- 1,不会改变默认缓存。将其设置为0将确保结果永远不会缓存。最后除了最后一个参数是给整数,其余参数都是Boolean类型--><property name="cacheSeconds" value="120" /></bean><bean id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass"value="org.springframework.web.servlet.view.JstlView" /><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /></bean></beans>
3、修改controller类
package com.xiaof.springportlet.controller;import javax.portlet.ActionRequest; import javax.portlet.ActionResponse; import javax.portlet.RenderRequest; import javax.portlet.RenderResponse;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.portlet.ModelAndView; import org.springframework.web.portlet.bind.annotation.ActionMapping; import org.springframework.web.portlet.bind.annotation.RenderMapping; import org.springframework.web.portlet.mvc.AbstractController;/*** 测试spring-portlet功能* @author xiaof** 所有spring portlet的控制器都继承于AbstractController* 这里requestmapping模式必须为view模式,对应portlet中的portlet-mode*/ @RequestMapping("view") @Controller(value="/samplecontroller") public class SampleController extends AbstractController {/*** 注意这里使用的是@RenderMapping,可以不用* 因为这里是handleRenderRequestInternal方法,默认会被执行*/ // @RenderMappingpublic ModelAndView handleRenderRequestInternal(RenderRequest request,RenderResponse response) throws Exception {System.out.println("test spring portlet!!!");ModelAndView mav = new ModelAndView("springmvc-sample/view");mav.addObject("message", "</br>hello world spring portlet!");return mav;}@Overridepublic void handleActionRequest(ActionRequest request,ActionResponse response) throws Exception {// TODO Auto-generated method stubsuper.handleActionRequest(request, response);}@RenderMapping(value="/testren", params="myaction=testrender")public String testRequestMapping(RenderRequest request,RenderResponse response) {System.out.println("这里进入spring自定义render方法");return "test rendermapping";}@ActionMapping(value="/testac", params="myaction=testaction")public String testActionMapping(ActionRequest request,ActionResponse response) {System.out.println("这里进入spring自定义action方法");return "test actionmapping";}}
转载于:https://www.cnblogs.com/cutter-point/p/8254054.html
【liferay】6、关于liferay中使用requestMapping映射地址提交表单相关推荐
- IDEA中Tomcat启动后提交表单,请求的资源[/servlet_demo2/book-add.html]不可用
这个问题非常得刁钻啊,解决办法我很不理解,不知道IDEA为什么这么捉弄人. 首先这里出现问题有两个方面: 1.Tomcat问题: 配置Tomcat得时候非常不容易发现:这里得名字不一样,一个横杠,一个 ...
- KindEditor使用过程中,用JQ提交表单时,获取不到编辑器的内容
首先要说明的是,在使用提交按钮直接提交时,编辑器的内容是可以正常获取的,而使用 jq或js ,如$("#form").submit(),提交时,则编辑器的内容是无法获取的,这里在 ...
- Winform开发框架中工作流模块的业务表单开发
在我们开发工作流的时候,往往需要设计到具体业务表单信息的编辑,有些是采用动态编辑的,有些则是在开发过程中处理的,各有各的优点,动态编辑的则方便维护各种各样的表单,但是数据的绑定及处理则比较麻烦,而自定 ...
- tp5 ajax 路由,tp5中ajax方式提交表单
用ajax提交表单,迅速,快捷,实现页面无刷新提交表单. ajax批删 姓名 年龄 地址 添加 $("#sub").click(function(){ var name = $(& ...
- HTML提交弹出提交中,javascript – 从弹出窗口在父窗口中提交表单?
您可以通过window.opener.document在父窗口中获取对表单的引用,如下所示: var form = window.opener.document.getElementById(&quo ...
- MVC中提交表单的4种方式
一,MVC HtmlHelper方法 Html.BeginForm(actionName,controllerName,method,htmlAttributes){} BeginRouteForm ...
- java mvc中重复提交表单,spring mvc 防止重复提交表单的两种方法,推荐第二种
第一种方法:判断session中保存的token 比较麻烦,每次在提交表单时都必须传入上次的token.而且当一个页面使用ajax时,多个表单提交就会有问题. 注解Token代码: package c ...
- Casperjs中fill提交表单遇到的问题
1.if you access internet with proxy please add --ignore-ssl-errors=true --ssl-protocol=a ...
- jsp 中提交表单后在firefox、chrome 中中文显示为正常,但在IE中中文显示为乱码?...
如题: jsp 中提交表单后在firefox.chrome 中中文显示为正常,但在IE中中文显示为乱码? 备注:框架:spring 和hibernate 提交表单后,在IE中提交的数据传到Contro ...
最新文章
- TaskList与Taskkill(转)
- 分析解决Java运行时异常
- GET和POST两种基本请求方法的区别(转载)
- php 崩溃 输出,php – 创建可崩溃的print_r()var_dump()的函数?
- HDU 1257 最少拦截系统(贪心)
- 命令创建mysql数据库_怎么在命令行创建一个mysql数据库
- 浏览器打开出现证书错误_2分钟轻松解决ie证书错误
- 马斯克公布柏林超级工厂航拍 白雪皑皑仍在施工
- python简单数据类型变量_python-2-变量和简单数据类型
- SharePoint 2007和WSS 3.0 SDK 1.2 Release
- N1盒子刷入codesys当PLC使用
- MySQL可视化 Navicat for MySQL 字体调整
- “运行”窗口命令大全
- matlab的图片压缩两种方法(DCT方法与行程编码压缩方法)
- word2007制作目录
- 坦克世界没有服务器信号,坦克世界闪击战无法连接服务器怎么办 网络问题
- 小程序图形验证码输入校验例子
- 考研数学要背诵的知识点
- WIn10编译Audacity——C++
- python中os.listdir的用法