Spring mvcシリーズ5のデータ充填と戻り
この文章の説明は全部注釈に基づいています.spring mvc注釈の紹介は前の文章を見てもいいです.Spring mvcシリーズ四の注釈紹介及びspring mvcの他の運用は私のspring mvcシリーズの文章を見てもいいです.
spring mvcについて説明します.@Request Paramと@PathVarableはspring mvcのデータを使って充填します.フォームからデータを送ると、対応するコントローラの処理方法パラメータに同じ名前と種類を記入してもいいです.フォームのパラメータ名と方法パラメータ名が異なる場合は@Request PathVare.で注釈してもいいです.
次の例を見ます.
まずフォームを作成して、ページdata.jspを提出します.
対応するコントローラを作成します.ここでフォームをuser/addUserに提出します.それに対応する方法を書きます.
もちろん、データをオブジェクトとして塗りつぶすこともできます.
Userクラスを作成し、対応するget setメソッドを生成します.属性名はフォームの名前に対応します.
得られたデータをviewに返す:
最もよく使われているのはModelAndViewを使用しています.多くの重負荷の構造方法があり、文字列の種類に戻すことができます.MapタイプとObjectタイプに戻すこともできます.詳しい使い方はSpringのAPIを見ることができます.以下にいくつかの例を挙げます.
例えば、前の第一の方法のuser(ここのuserは私たちが戻るときに定義される名前です)は、$
spring mvcについて説明します.@Request Paramと@PathVarableはspring mvcのデータを使って充填します.フォームからデータを送ると、対応するコントローラの処理方法パラメータに同じ名前と種類を記入してもいいです.フォームのパラメータ名と方法パラメータ名が異なる場合は@Request PathVare.で注釈してもいいです.
次の例を見ます.
まずフォームを作成して、ページdata.jspを提出します.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> </title>
</head>
<body>
<form action="user/addUser" method="post">
:<input type="text" name="name" /><br/>
:<input type="text" name="age" />
<input type="submit" value=" " />
</form>
</body>
</html>
対応するコントローラを作成します.ここでフォームをuser/addUserに提出します.それに対応する方法を書きます.
package gd.hz.springmvc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
@Controller("userController")
@RequestMapping("user")
public class UserController {
@RequestMapping(value="addUser" , method=RequestMethod.POST)
public ModelAndView addUser(String name , String age)
{
System.out.println("name--->" + name + " --->" + age) ;
return new ModelAndView("dataSuccess");
}
}
フォームの名前をnameとageといいます.コントローラのaddUserメソッドのパラメータのnameとageに対応しています.springによって自動的にデータを充填してくれます.パラメータ名がフォームの名前と違ったら@Request Paramで注釈ができます.もちろん、データをオブジェクトとして塗りつぶすこともできます.
Userクラスを作成し、対応するget setメソッドを生成します.属性名はフォームの名前に対応します.
package gd.hz.springmvc.model;
public class User {
private String name ;
private int age ;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Controllerにはこう書かれています.package gd.hz.springmvc.controller;
import gd.hz.springmvc.model.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
@Controller("userController")
@RequestMapping("user")
public class UserController {
//
@RequestMapping(value="addUser2" , method=RequestMethod.POST)
public ModelAndView addUser2(User user)
{
System.out.println("name--->" + user.getName() + " --->" + user.getAge()) ;
return new ModelAndView("dataSuccess");
}
}
得られたデータをviewに返す:
最もよく使われているのはModelAndViewを使用しています.多くの重負荷の構造方法があり、文字列の種類に戻すことができます.MapタイプとObjectタイプに戻すこともできます.詳しい使い方はSpringのAPIを見ることができます.以下にいくつかの例を挙げます.
@RequestMapping(value="addUser2" , method=RequestMethod.POST)
public ModelAndView addUser2(User user)
{
System.out.println("name--->" + user.getName() + " --->" + user.getAge()) ;
return new ModelAndView("dataSuccess", "user" , user);
}
@RequestMapping(value="addUser2" , method=RequestMethod.POST)
public ModelAndView addUser2(User user)
{
System.out.println("name--->" + user.getName() + " --->" + user.getAge()) ;
ModelAndView model = new ModelAndView("dataSuccess");
model.addObject("user", user);
return model;
}
@RequestMapping(value="addUser2" , method=RequestMethod.POST)
public ModelAndView addUser2(User user)
{
ModelAndView model = new ModelAndView("dataSuccess");
Map<String , User> users = new HashMap<String , User>();
model.addObject(users);
return model;
}
ビューインターフェースで私たちはjstlでデータを取得できます.例えば、前の第一の方法のuser(ここのuserは私たちが戻るときに定義される名前です)は、$