【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/beans
- http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
- http://www.springframework.org/schema/context
- http://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的时候,抛出SessionRequiredException
- synchronizeSession(synchronizeOnSession 4.3版本):如果需要controller在用户回话上保持同步指定这个,如果指定此变量扩展控制器覆盖handlerenderrequestinternal(..)
- 和handleactionrequestinternal(..)方法,并将同步用户的会话。
- 注意实际应该是:synchronizeOnSession而不是synchronizeSession
- renderWhenMinimized:如果您希望控制器在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方法,默认会被执行
- */
- // @RenderMapping
- public 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;
- }
- @Override
- public void handleActionRequest(ActionRequest request,
- ActionResponse response) throws Exception {
- // TODO Auto-generated method stub
- super.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";
- }
- }
【liferay】6、关于liferay中使用requestMapping映射地址提交表单的更多相关文章
- jsp中普通按钮如何提交表单
jsp中普通按钮如何提交表单方法1: <form action = "提交的地址"> <input type="submit" ...
- struts2中token防止重复提交表单
struts2中token防止重复提交表单 >>>>>>>>>>>>>>>>>>>&g ...
- iframe中使用模态框提交表单后,iframe加载父页面的解决方法
在iframe中使用模态框提交表单后,会出现iframe加载整个父页面的问题,如下图: 解决方法: 在form表单中添加target属性 _parent 这个属性会使目标文档载入父窗口或者包含来超链接 ...
- lavarel框架中如何使用ajax提交表单
开门见山,因为laravel以post形式提交数据时候需要加{{csrf_field()}}防止跨站攻击,所以当你用ajax提交表单时候自然也要加 在网上看了很多的解决方式,我是用下面这种方法解决的: ...
- KindEditor使用过程中,用JQ提交表单时,获取不到编辑器的内容
首先要说明的是.在使用提交button直接提交时.编辑器的内容是能够正常获取的,而使用 jq或js ,如$("#form").submit(),提交时,则编辑器的内容是无法获取的. ...
- SpringMVC中的异步提交表单
1.前言 近期在做一个项目,前台框架用的是EasyUI+SpringMVC,因为对SpringMVC不太了解,所以刚開始接触的时候有点吃力,在此通过一个EasyUi中的DataGrid表格来总结一下. ...
- 在火狐、360等浏览器中,用jquery创建表单并发送的问题
某些浏览器无法使用js或者jquery直接创建表单并发送,这是由于这些浏览器在提交页面表单时要求页面有完整的标签项即<html><head><title></ ...
- js防止回车(enter)键提交表单及javascript中event.keycode
如何防止回车(enter)键提交表单,其实很简单,就一句话.onkeydown="if(event.keyCode==13)return false;"把这句写在from标签里 ...
- delphi中使用webbrowser提交表单
转自:http://blog.163.com/hehaifeng1984@126/blog/static/6900113620133504644998/ 我们以百度搜索为例,使用webbrowser组 ...
随机推荐
- 证明 U and V={0}时 dim(U+V)=dim(U)+dim(V)
U And V={0} 证明 dim(U+V)=dim(U)+dim(V)设{u1,u2,...,uk} 是U的基,{v1,v2...,vr}是V的基,dim(U)=k ,dim(V)=r dim(U ...
- python:浅拷贝与深拷贝
1,“相等”与“相同” 我们先赋值三个变量a, b, c: a = [1, 2, [1, 2]] b = [1, 2, [1, 2]] c = a 判断一下‘相等’: a == b 返回 True ...
- fPLL结构及动态配置
输入参考时钟 从上图可以看到参考时钟输入的几种类型. 注意:fPLL的校正是由CLKUSR来驱动的,这个时钟必须要保持稳定. 参考时钟利用器 N计数器 N计数器会把参考时钟利用器输出进行分 ...
- 用Kotlin写一个基于Spring Boot的RESTful服务
Spring太复杂了,配置这个东西简直就是浪费生命.尤其在没有什么并发压力,随便搞一个RESTful服务 让整个业务跑起来先的情况下,更是么有必要纠结在一堆的XML配置上.显然这么想的人是很多的,于是 ...
- eclipse/sublime 等宽字体设置
转载请注明出处:http://www.cnblogs.com/wubdut/p/4621889.html 使用ubuntu14.04会产生很多想日犬的地方.大家一般习惯于使用 eclipse 进行 j ...
- java基础-day22
第11天 多线程 今日内容介绍 u 多线程概述 u 线程实现 u 多线程安全问题产生 & 解决方案 第1章 多线程概述 学习多线程之前,我们先要了解几个关于多线程有关的概念. A ...
- java并发编程基础-ReentrantLock及LinkedBlockingQueue源码分析
ReentrantLock是一个较为常用的锁对象.在上次分析的uil开源项目中也多次被用到,下面谈谈其概念和基本使用. 概念 一个可重入的互斥锁定 Lock,它具有与使用 synchronized 相 ...
- docker mac
官网上有安装方法.已安装成功. 容器千万不能随便删 现在已经不用boot2docker,使用dockertools来安装docker,dockertools中包含docker-machine,等等. ...
- [jquery] 遮罩弹窗,点击遮罩弹窗自动隐藏
$("#id_sign_forbidden_win .c-content").click(function(event){ event.stopPropagation(); // ...
- 11.CrawlSpiders
CrawlSpiders 通过下面的命令可以快速创建 CrawlSpider模板 的代码: .scrapy startproject tencentspider .scrapy genspider - ...