SpringMVC的简单传值(实现代码)
之前学习springmvc时感觉他的传值很神奇:简便,快捷,高效。
今天写几个简单的传值与大家分享,希望能对大家有帮助。
一、
从后往前传:
(1)
@controller @requestmapping(value={"/hello"}) public class hellocontroller { @requestmapping(value={"sub"}) public modelandview submit(httpservletrequest request) throws exception { // todo auto-generated method stub modelandview m=new modelandview(); m.addobject("ok", "hello"); m.setviewname("success"); return m; } }
把想要传递的东西放在addobject(string,object)里,值是object类型,什么都可以放。
setviewname() 是设置跳转到哪个页面 (success.jsp页面)。
在success.jsp 页面里用${requestscope}或${ok}即可取出。是不是非常简便快捷。
还可以以这种方式传:
@controller @requestmapping(value={"/user"}) public class usercontroller { @requestmapping(value={"/get"}) public modelandview user(user user) throws exception { modelandview mv=new modelandview(); mv.addobject("ok",user.getusername()+"--"+user.getpassword()); mv.setviewname("success"); return mv; } }
前端是一个简单的form表单:
<form action="user/get" method="post"> <input type="text" name="username" id="username"> <input type="text" name="password" id="password"> <input type="submit"> </form>
(2)返回值也可以不是modelandview
@requestmapping(value={"/map"}) public string ok(map map,model model,modelmap modelmap,user user) throws exception { map.put("ok1", user); model.addattribute("ok2",user); modelmap.addattribute("ok3", user); return "show"; }
二、
从前往后传:
(1)
@requestmapping(value={"ant/{username}/topic/{topic}"},method={requestmethod.get}) public modelandview ant( @pathvariable(value="username") string username, @pathvariable(value="topic") string topic ) throws exception { // todo auto-generated method stub modelandview m=new modelandview(); system.out.println(username); system.out.println(topic); return m; }
前端是这个样子:
<a href="hello/ant/tom/topic/cat">ant</a>
与value={"ant/{username}/topic/{topic}"}一一对应。
还可以以这种形式:
@requestmapping(value={"/regex/{number:\\d+}-{tel:\\d+}"}) public modelandview regex( @pathvariable(value="number") int number, @pathvariable(value="tel") string tel ) throws exception { // todo auto-generated method stub modelandview m=new modelandview(); system.out.println(number); system.out.println(tel); return m; }
前端是这个样子:
<a href="hello/regex/100-111">regex(正则)</a>
(2)这是有键传值:
@requestmapping(value={"/ok1"}) public string ok1(@requestparam(value="username") string username) throws exception { system.out.println(username); return "show"; }
前端是这个样子:
<a href="user/ok1?username=tom">有键传值</a>
这是无键传值:
@requestmapping(value={"/ok2"}) public string ok2(@requestparam string password,@requestparam string username) throws exception { system.out.println(username); system.out.println(password); return "show"; }
前端是这个样子:
<a href="user/ok2?username=tom&password=111">无键传值</a>
有意思的是它可以准确的对应好两个值。
以上这篇springmvc的简单传值(实现代码)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: 探讨Java验证码制作(上篇)
下一篇: Java仿12306图片验证码