22SpringMvc_jsp页面上的数据传递到控制器的说明

假设有这个一个业务:在jsp页面上写入数据,然后把这个数据传递到后台。

效果如下:

输入信息后点击确定,把这些信息保存到后台。

点击确定后。来到这里:

这就是效果。

-----------------------------------------------------------------------------------------------------------------------------------

我们给出具体的案例然后给出分析:

1.jFactoryCreate.jsp这个页面就是输入信息的页面。

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ include file="../../base.jsp"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
    <form method="post">
        <div id="menubar">
            <div id="middleMenubar">
                <div id="innerMenubar">
                    <div id="navMenubar">
                        <ul>
                            <li id="save"><a href="#"
                                onclick="formSubmit(‘insertfactory.action‘,‘_self‘);">确定</a></li>
                            <li id="back"><a href="list.action">返回</a></li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>

        <div class="textbox" id="centerTextbox">

            <div class="textbox-header">
                <div class="textbox-inner-header">
                    <div class="textbox-title">新增厂家信息</div>
                </div>
            </div>
            <div>

                <div>
                    <table class="commonTable" cellspacing="1">
                        <tr>
                            <td class="columnTitle_mustbe">厂家名称:</td>
                            <td class="tableContent"><input type="text" name="fullName" /></td>
                            <td class="columnTitle_mustbe">厂家简称</td>
                            <td class="tableContent"><input type="text"
                                name="factoryName" /></td>
                        </tr>

                        <tr>
                            <td class="columnTitle_mustbe">联系人:</td>
                            <td class="tableContent"><input type="text" name="contacts" /></td>
                            <td class="columnTitle_mustbe">电话</td>
                            <td class="tableContent"><input type="text" name="phone" /></td>
                        </tr>
                        <tr>
                            <td class="columnTitle_mustbe">手机</td>
                            <td class="tableContent"><input type="text" name="mobile" /></td>
                            <td class="columnTitle_mustbe">传真</td>
                            <td class="tableContent"><input type="text" name="fax" /></td>
                        </tr>

                        <tr>
                            <td class="columnTitle_mustbe">验货员</td>
                            <td class="tableContent"><input type="text" name="inspector" /></td>
                            <td class="columnTitle_mustbe">排序号</td>
                            <td class="tableContent"><input type="text" name="orderNo" /></td>
                        </tr>
                        <tr>
                            <td class="columnTitle_mustbe">备注</td>
                            <td class="tableContent"><textarea    name="cnote" style="height:120px;" ></textarea></td>

                        </tr>
                    </table>
                </div>
            </div>
    </form>
</body>
</html>

上面的代码中有这么一句 onclick="formSubmit(‘insertfactory.action‘,‘_self‘);点击确定后就会来到insertfactory.action这里。

2.实体类 :Factory 类:

package cn.itcast.jk.domain;

import java.util.Date;

import org.omg.CORBA.PRIVATE_MEMBER;

public class Factory {
private String id;
    private String fullName;
    private String factoryName;
    private String contacts;
    private String phone;
    private String mobile;
    private String fax;
    private String cnote;
    private String inspector;
    private Integer orderNo;
    private String createBy;
    private String createDept;
    private Date createTime;
    /**
     * @return the id
     */
    public String getId() {
        return id;
    }
    /**
     * @param id the id to set
     */
    public void setId(String id) {
        this.id = id;
    }
    /**
     * @return the fullName
     */
    public String getFullName() {
        return fullName;
    }
    /**
     * @param fullName the fullName to set
     */
    public void setFullName(String fullName) {
        this.fullName = fullName;
    }
    /**
     * @return the factoryName
     */
    public String getFactoryName() {
        return factoryName;
    }
    /**
     * @param factoryName the factoryName to set
     */
    public void setFactoryName(String factoryName) {
        this.factoryName = factoryName;
    }
    /**
     * @return the contacts
     */
    public String getContacts() {
        return contacts;
    }
    /**
     * @param contacts the contacts to set
     */
    public void setContacts(String contacts) {
        this.contacts = contacts;
    }
    /**
     * @return the phone
     */
    public String getPhone() {
        return phone;
    }
    /**
     * @param phone the phone to set
     */
    public void setPhone(String phone) {
        this.phone = phone;
    }
    /**
     * @return the mobile
     */
    public String getMobile() {
        return mobile;
    }
    /**
     * @param mobile the mobile to set
     */
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
    /**
     * @return the fax
     */
    public String getFax() {
        return fax;
    }
    /**
     * @param fax the fax to set
     */
    public void setFax(String fax) {
        this.fax = fax;
    }
    /**
     * @return the cnote
     */
    public String getCnote() {
        return cnote;
    }
    /**
     * @param cnote the cnote to set
     */
    public void setCnote(String cnote) {
        this.cnote = cnote;
    }
    /**
     * @return the inspector
     */
    public String getInspector() {
        return inspector;
    }
    /**
     * @param inspector the inspector to set
     */
    public void setInspector(String inspector) {
        this.inspector = inspector;
    }
    /**
     * @return the orderNo
     */
    public Integer getOrderNo() {
        return orderNo;
    }
    /**
     * @param orderNo the orderNo to set
     */
    public void setOrderNo(Integer orderNo) {
        this.orderNo = orderNo;
    }
    /**
     * @return the createBy
     */
    public String getCreateBy() {
        return createBy;
    }
    /**
     * @param createBy the createBy to set
     */
    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }
    /**
     * @return the createDept
     */
    public String getCreateDept() {
        return createDept;
    }
    /**
     * @param createDept the createDept to set
     */
    public void setCreateDept(String createDept) {
        this.createDept = createDept;
    }
    /**
     * @return the createTime
     */
    public Date getCreateTime() {
        return createTime;
    }
    /**
     * @param createTime the createTime to set
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

}

3.给出控制器的代码如下:

FactoryController.java:

package cn.itcast.jk.controller.basicinfo.factory;

import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import cn.itcast.jk.controller.BaseController;
import cn.itcast.jk.domain.Factory;
import cn.itcast.jk.service.FactoryService;
@Controller
public class FactoryController extends BaseController {
  @Resource
    FactoryService factoryService;
  //保存新增加的数据

    @RequestMapping("/basicinfo/factory/insertfactory.action")
    public String insertfactory(Factory factory )
    {

        factoryService.insert(factory);
        return "redirect:/basicinfo/factory/list.action";

    }

}

这样就可以了.

但是好奇的是。我们在jFactoryCreate.jsp输入信息,fullName,contacts,phone等等这些信息,那么怎么把这些信息封装到

@RequestMapping("/basicinfo/factory/insertfactory.action")
    public String insertfactory(Factory factory )
    使factory这个类里面填好数据。

答案:我们在jsp页面上点击确定之后,根据"formSubmit(‘insertfactory.action‘,‘_self‘就能定位到public String insertfactory(Factory factory )这个方法,很明显就可以根据方法里面的参数Factory factory来注入数据。当然前提是jsp里面的input的name要和fatory这个实体类里面的属性名字要一模一样。

时间: 2024-10-26 20:06:47

22SpringMvc_jsp页面上的数据传递到控制器的说明的相关文章

HTML5中window.postMessage,在两个页面之间的数据传递

HTML5中window.postMessage,在两个页面之间的数据传递 2015年11月3日 8536次浏览 关于postMessage window.postMessage虽然说是html5的功能,但是支持IE8+,假如你的网站不需要支持IE6和IE7,那么可以使用window.postMessage.关于window.postMessage,很多朋友说他可以支持跨域,不错,window.postMessage是客户端和客户端直接的数据传递,既可以跨域传递,也可以同域传递. 应用场景 我只

React Native移动开发实战-3-实现页面间的数据传递

React Native使用props来实现页面间数据传递和通信.在React Native中,有两种方式可以存储和传递数据:props(属性)以及state(状态),其中: props通常是在父组件中指定的,而且一经指定,在被指定的组件的生命周期中则不再改变. state通常是用于存储需要改变的数据,并且当state数据发生更新时,React Native会刷新界面. 了解了props与state的区别之后,读者应该知道,要将首页的数据传递到下一个页面,需要使用props.所以,修改home.

Flutter StatefulWidget 有状态组件、页面上绑定数据、改变页面数据

在 Flutter 中自定义组件其实就是一个类,这个类需要继承 StatelessWidget/StatefulWidget. StatelessWidget 是无状态组件,状态不可变的 widget StatefulWidget 是有状态组件,持有的状态可能在 widget 生命周期改变.通俗的讲:如果我 们想改变页面中的数据的话这个时候就需要用到 StatefulWidget import 'package:flutter/material.dart'; void main() => run

微信小程序从子页面退回父页面时的数据传递 wx.navigateBack()

我们知道,在微信小程序中,从一个页面转到另一个页面,一般情况下可以通过navigate或redirect时候的url来携带参数,然后在目标页面的onLoad函数参数中获取这些url参数.例如: // 源页面A相关代码 wx.navigateTo({ url: "/pages/mypage/mypage?a=1&b=2" }) // 目标页面B相关代码 Page({ onLoad: function (options) { var a = options.a; // 值:1 va

如何将页面上的数据导入excel中

网上关于页面数据导入excel的文章很多,但是大部分都是关于 ActiveXObject 对象,可是ActiveXObject 对象是只支持IE的,可我连IE11也测试了,还是无法识别,又查到消息,好像该对象只支持IE7,IE8,所以果断放弃. 继续查找各大论坛,终于找到JsExcelXml的插件, <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></

android对话框,checkBox,同一时候在同一个页面上保存数据

package com.example.selectonlyonle; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Button; impo

android对话框,checkBox,同时在同一个页面上保存数据

package com.example.selectonlyonle; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Button; impo

两个页面之间的数据传递方法

1:通过URL传参(a页面<a href="b.html?n=zhangsan&p=123456">点击跳转到b页面</a>) b页面中的js代码:  function parseURL(url){    var url = url.split("?")[1];//分割字符串并取     console.log(url);    var para = url.split(/&|=/);    console.log(para)

007-多控制器管理(控制器间的数据传递)

掌握 • 1.控制器以及view的多种创建方式 • 2.UINavigationController的简单使用:添加\移除子控制器 • 3.UINavigationBar内容的设置 • 4.Segue之数据传递 • 1.控制器以及view的多种创建方式 问题一:如何创建一个控制器? •控制器常见的创建方式有以下几种 1>通过storyboard创建控制器 •先加载storyboard文件(Test是storyboard的文件名) UIStoryboard *storyboard = [UISto