liferay springmvc portlet 基于注解 传参策略

一、前端写法


<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>



<link
	href="${pageContext.request.contextPath}/js/bootstrap/css/bootstrap.css"
	type="text/css" rel="stylesheet" />


<h1>Liferay Spring Portlet MVC</h1>
<portlet:defineObjects />
<p>The time on the server is ${serverTime}.</p>
<portlet:renderURL var="edit">
	<portlet:param name="action" value="edit" />
</portlet:renderURL>
<portlet:actionURL var="fengshuzi" />

<portlet:renderURL var="fengshu">
	<portlet:param name="action" value="fengshu" />
</portlet:renderURL>
<div>
	跳转到编辑页面<a href="${edit}">编辑</a>
</div>

<form action="<%=fengshu %>" method="POST">
	<input type="text" name="<portlet:namespace />username" /> <input type="submit" value="go" />
</form>




二、congtroller层写法

package au.com.redbarn.liferay.spring.mvc.portlet;

import java.text.DateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;

import javax.annotation.Resource;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.portlet.ModelAndView;
import org.springframework.web.portlet.bind.annotation.RenderMapping;

import com.winssage.fengshu.dao.IProjectDao;
import com.winssage.fengshu.domain.ProjectBase;
import com.winssage.fengshu.queryutil.QueryPage;

/**
 * Handles requests for the view mode.
 */
@Controller
@RequestMapping("VIEW")
public class HomeController {

	private static final Logger logger = LoggerFactory
			.getLogger(HomeController.class);
	@Resource(name = "projectBaseDao")
	private IProjectDao projectDao;

	/**
	 * Simply selects the home view to render by returning its name.
	 */
	/**
	 * @param locale
	 * @param model
	 * @return
	 */
	@RenderMapping
	public String home(Locale locale, Model model) {
		logger.info("Welcome home! the client locale is " + locale.toString());
		Date date = new Date();
		DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG,
				DateFormat.LONG, locale);
		String formattedDate = dateFormat.format(date);
		logger.info("i am here");
		model.addAttribute("serverTime", formattedDate);
		return "home";
	}

	@RenderMapping(params = "action=edit")
	public String hopeSuccess(Model model, String username) {
		logger.info("what's the problem?");
		model.addAttribute("serverTime", "no time");
		QueryPage queryPage = new QueryPage();
		queryPage.addEqualSearch("projectName", "my");
		List<ProjectBase> list = projectDao.findAllBy(queryPage);
		logger.info(list + "");
		return "home";
	}

	@RenderMapping(params = "action=fengshu")
	public ModelAndView fengshu(Model model,
			@RequestParam("username") String username) {
		logger.info("username");
		logger.info("what's the problem?");
		ModelAndView modelAndView = new ModelAndView("home");
		modelAndView.addObject("serverTime", "time to  sleep");
		return modelAndView;
	}

	public IProjectDao getProjectDao() {
		return projectDao;
	}

	public void setProjectDao(IProjectDao projectDao) {
		this.projectDao = projectDao;
	}

}



转载于:https://my.oschina.net/fengshuzi/blog/290610

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值