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映射地址提交表单相关推荐

  1. IDEA中Tomcat启动后提交表单,请求的资源[/servlet_demo2/book-add.html]不可用

    这个问题非常得刁钻啊,解决办法我很不理解,不知道IDEA为什么这么捉弄人. 首先这里出现问题有两个方面: 1.Tomcat问题: 配置Tomcat得时候非常不容易发现:这里得名字不一样,一个横杠,一个 ...

  2. KindEditor使用过程中,用JQ提交表单时,获取不到编辑器的内容

    首先要说明的是,在使用提交按钮直接提交时,编辑器的内容是可以正常获取的,而使用 jq或js ,如$("#form").submit(),提交时,则编辑器的内容是无法获取的,这里在 ...

  3. Winform开发框架中工作流模块的业务表单开发

    在我们开发工作流的时候,往往需要设计到具体业务表单信息的编辑,有些是采用动态编辑的,有些则是在开发过程中处理的,各有各的优点,动态编辑的则方便维护各种各样的表单,但是数据的绑定及处理则比较麻烦,而自定 ...

  4. tp5 ajax 路由,tp5中ajax方式提交表单

    用ajax提交表单,迅速,快捷,实现页面无刷新提交表单. ajax批删 姓名 年龄 地址 添加 $("#sub").click(function(){ var name = $(& ...

  5. HTML提交弹出提交中,javascript – 从弹出窗口在父窗口中提交表单?

    您可以通过window.opener.document在父窗口中获取对表单的引用,如下所示: var form = window.opener.document.getElementById(&quo ...

  6. MVC中提交表单的4种方式

    一,MVC  HtmlHelper方法 Html.BeginForm(actionName,controllerName,method,htmlAttributes){} BeginRouteForm ...

  7. java mvc中重复提交表单,spring mvc 防止重复提交表单的两种方法,推荐第二种

    第一种方法:判断session中保存的token 比较麻烦,每次在提交表单时都必须传入上次的token.而且当一个页面使用ajax时,多个表单提交就会有问题. 注解Token代码: package c ...

  8. Casperjs中fill提交表单遇到的问题

    1.if you access internet with proxy please add             --ignore-ssl-errors=true --ssl-protocol=a ...

  9. jsp 中提交表单后在firefox、chrome 中中文显示为正常,但在IE中中文显示为乱码?...

    如题: jsp 中提交表单后在firefox.chrome 中中文显示为正常,但在IE中中文显示为乱码? 备注:框架:spring 和hibernate 提交表单后,在IE中提交的数据传到Contro ...

最新文章

  1. TaskList与Taskkill(转)
  2. 分析解决Java运行时异常
  3. GET和POST两种基本请求方法的区别(转载)
  4. php 崩溃 输出,php – 创建可崩溃的print_r()var_dump()的函数?
  5. HDU 1257 最少拦截系统(贪心)
  6. 命令创建mysql数据库_怎么在命令行创建一个mysql数据库
  7. 浏览器打开出现证书错误_2分钟轻松解决ie证书错误
  8. 马斯克公布柏林超级工厂航拍 白雪皑皑仍在施工
  9. python简单数据类型变量_python-2-变量和简单数据类型
  10. SharePoint 2007和WSS 3.0 SDK 1.2 Release
  11. N1盒子刷入codesys当PLC使用
  12. MySQL可视化 Navicat for MySQL 字体调整
  13. “运行”窗口命令大全
  14. matlab的图片压缩两种方法(DCT方法与行程编码压缩方法)
  15. word2007制作目录
  16. 坦克世界没有服务器信号,坦克世界闪击战无法连接服务器怎么办 网络问题
  17. 小程序图形验证码输入校验例子
  18. 考研数学要背诵的知识点
  19. WIn10编译Audacity——C++
  20. python中os.listdir的用法

热门文章

  1. Python【01】【基础部分】- A
  2. Xcode6中使用initWithTitle:title image:image selectedImage:自定义图片
  3. FORM级别和数据库级别的Trace
  4. IE的documentMode属性
  5. eclipse下使用git插件上传代码至github
  6. 2019前端必会黑科技之PWA
  7. activemq的使用场景
  8. 什么是高并发,如何避免高并发
  9. Android JNI开发系列(二)HelloWorld
  10. 总结界面框架_UI_Adapter