【liferay】6、关于liferay中使用requestMapping映射地址提交表单
生活随笔
收集整理的這篇文章主要介紹了
【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映射地址提交表单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: json与对象如何进行相互转换
- 下一篇: MPC5744P-时钟模块