jeeSite springMvc的调用过程

本文通过一个具体的Java Web应用案例,介绍了如何使用Spring MVC框架进行控制器的定义与请求映射,展示了如何通过Model属性传递数据到视图层,并对不同类型的请求进行了处理。
/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.test1.web;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import com.thinkgem.jeesite.common.config.Global;
import com.thinkgem.jeesite.common.persistence.Page;
import com.thinkgem.jeesite.common.web.BaseController;
import com.thinkgem.jeesite.common.utils.StringUtils;
import com.thinkgem.jeesite.modules.test1.entity.Duck;
import com.thinkgem.jeesite.modules.test1.entity.TestDat1;
import com.thinkgem.jeesite.modules.test1.service.TestDat1Service;

/**
 * 单表生成Controller
 * @author cwp
 * @version 2016-12-15
 */
@Controller
@RequestMapping(value = "${adminPath}/test1/cwptest")
public class CwpTestController extends BaseController {	
	@ModelAttribute
	public TestDat1 get(@RequestParam(required=false) String id) {
		TestDat1 entity = null;
		entity = new TestDat1();
		entity.setSex("不男不女的人");
		return entity;
	}
	@ModelAttribute("tstring")
	public String setStringtest() {
		return "我是测试字符!";
	}
	
	@ModelAttribute
	public Duck getDuck() {
		Duck duck=new Duck();
		duck.setName("我是一只鸭子");
		return duck;
	}
	
	@RequestMapping(value = "tijger")
	public String tiger(TestDat1 testDat1, String tstring,Duck duck,Model model) {
		 System.out.println(tstring);
		 Map<String, Object> asMap = model.asMap();
		 Object object = asMap.get("duck");
		return "modules/test1/testDat1List";
	}
	@RequestMapping(value = "pig")
	public String pig(TestDat1 testDat1, String string ,Duck duck,Model model) {
		System.out.println(string);
		 Map<String, Object> asMap = model.asMap();
		return "modules/test1/testDat1List";
	}
	
	@RequestMapping(value = {"list", "","java"})
	public String list(TestDat1 testDat1, HttpServletRequest request, HttpServletResponse response, Model model) {
		
		return "modules/test1/testDat1List";
	}
	
	@RequestMapping(value = {"form","cat","dog"})
	public String form(TestDat1 testDat1, Model model) {
		
		
		Map<String, Object> asMap = model.asMap();
		Object object = asMap.get("testDat1");
		System.out.println(111);
		
		model.addAttribute("testDat1", testDat1);
		return "modules/test1/testDat1Form";
	}
}

访问地址: http://127.0.0.1:8080/jeesite/a/test1/cwptest/tijger

程序先运行  

  1.  get  :                 结果  在model  添加  testDat1=entity
  2. setStringtest  :   结果  在model  添加  string=我是测试字符
  3. getDuck:           结果  在model  添加  duck=duck
  4. tiger             结果: 参数中testDat1  ,duck,都是在mode1

注意:   加了 @ModelAttribute  每次读会运行

           加了@RequestMapping(value = "tijger")  只会运行一次!

 

 

转载于:https://my.oschina.net/u/1760858/blog/806425

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值