1

ウェルカム ページ/ホームページとして login.jsp があります。struts1.2 アプローチと同様に、login.jsp(ユーザー名とパスワード) からのデータを pojo(LoginForm) に設定し、コントローラーの pojo からユーザー名とパスワードにアクセスする必要があります。

login.jsp

<%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<html>
<head>
    <title>Spring 3.2.1 MVC Series</title>
</head>
<body>
   <br><div align='center'> <h2>Welcome to Spring MCV 3.2 Example. </h2><br> </div>
   <br/>
   <form:form method="post" action="login.do" modelAttribute="req">
<label for="UserName :"></label> <form:input path="name"/>
<label for="Password :"/> <form:password path="password"/>
<input name="submit" type="submit"/>
   </form:form>
</body>
</html>

LoginForm pojo クラス

public class LoginForm {
private String name;
private String password;
public String getName() {
    return name;
}
public void setName(String name) {      
    this.name = name;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}
}

ログインコントローラ

import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import com.spring3.bean.LoginForm;
@Controller

@RequestMapping("/login")
public class LoginController {
@RequestMapping(method = RequestMethod.POST)
public ModelAndView userLogin(@ModelAttribute("req") LoginForm login,BindingResult result)
{
    System.out.println("Inside LoginController...");
    return new ModelAndView("welcome","req",new LoginForm());
}
}

web.xml および dispatcher-servlet.xml ファイルには、適切なマッピングが含まれています。

以下のエラーが表示されます。

"java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean     name 'req' available as request attribute
"

私の要件は、struts1.2 と同様に、移行プロジェクトであるため、Spring 3 で行う方法と同じ方法で jsp からアクション形式でデータを取得します。

4

1 に答える 1