一、前端写法
<%@ 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;
}
}