浅谈SpringMVC的五种数据提交方式

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts 2(一般老项目使用)等等。

单数据提交

//Index.jsp

<h3>单个数据提交</h3>

<hr/>

<form action="${pageContext.request.contextPath}/one.action">

    i d:<input type="text" name="id"><br>

    姓名:<input type="text" name="name"><br>

    <br>

    <input type="submit" value="submit">

</form>

//servlet类

@Controller

public class DataSubmitAction {
    /**

     *i d:<input type="text" name="id"><br>

     *姓名:<input type="text" name="name"><br>

     */

    @RequestMapping(value = "/one")

    public String oneData(int id,String name){

        System.out.println("id:"+id+" name:"+name);

        return "main";

    }

}

对象数据提交

POJO

Index.jsp

<h3>对象数据提交</h3>

<hr/>

<form action="${pageContext.request.contextPath}/Object.action">

    i d:<input type="text" name="id"><br>

    姓名:<input type="text" name="name"><br>

    <br>

    <input type="submit" value="submit">

</form>

Servlet类(controller)

@RequestMapping(value = "/Object")

public String ObjectData(User user){

    System.out.println(" id:"+user.getId()+" name:"+user.getName());

return "main";

}

动态占位符数据提交

用于超链接或地址栏提交数据
Index.jsp

<h3>动态占位符提交数据</h3>

<hr/>

    <a href="${pageContext.request.contextPath}/placeholder/66/张三.action">动态提交数据</a>

Servlet类(controller)

@RequestMapping(value = "/placeholder/{id}/{name}")
public String placeholderData(@PathVariable int id,@PathVariable String name){

    System.out.println("id: "+id+" name:"+name);

    return "main";

}

或者

请求参数名称映射数据提交

解决映射名称不一致问题(提交请求参数的action的形参名称不一致,使用@RequestParam注解解析)

Index.jsp

<h3>请求参数名称映射提交数据</h3>

<hr/>

<form action="${pageContext.request.contextPath}/Mapping.action">

    i d:<input type="text" name="id"><br>

    姓名:<input type="text" name="name"><br>

    <br>

    <input type="submit" value="submit">

</form>

Servlet类(controller)

@RequestMapping("/Mapping")

public String MappingData(@RequestParam("id") int myid,@RequestParam("name") String myname){

    System.out.println("id:"+myid+" name:"+myname);

    return "main";

}

Servlet手工提取数据

这种方式以及很少使用

Index.jsp
<br>

<h3>Servlet手工提取数据</h3>

<hr/>

<form action="${pageContext.request.contextPath}/handwork.action">

    i d:<input type="text" name="id"><br>

    姓名:<input type="text" name="name"><br>

    <br>

    <input type="submit" value="submit">

</form>

Servlet类(controller)
@RequestMapping("/handwork")

public String handworkData(HttpServletRequest request){

    String id = request.getParameter("id");

    String name = request.getParameter("name");

    System.out.println("id:"+id+" name:"+name);

    return "main";

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QGS-CD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值