無理矢理?、springboot + jsp な環境を作成しようと、 jsp内(※1)で「<s:input type="hidden" path="xeiId" />」を使用したところ、 画面アクセス時にエラーが発生(※2)。
どうやら、「<s:form>」でなく、「<s:form modelAttribute="hello2Form">」のように 引渡すformクラスを指定する必要があるらしい。
【※1】
<%@page import="jp.co.sexy.bknkoutei.common.CommonConst"%> <%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@taglib prefix="f" uri="http://sastruts.seasar.org/functions" %> <%@taglib prefix="s" uri="http://www.springframework.org/tags/form"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <div id="body-base-middle"> <s:form> <div id="main-middle"> <s:input type="hidden" path="xeiId" /><br/> <input type="submit" name="back" value=" 案件詳細画面へ " /><br/> <br/> </div> </s:form> </div> </body> </html>
【※2】
org.springframework.web.servlet.tags.form.InputTag, Neither BindingResult nor plain target object for bean name 'command' available as request attribute java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'command' available as request attribute
ちなみにContorollerクラスは以下の通りです。
package jp.co.sexy.bknkoutei.action; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.MessageSource; import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import jp.co.sexy.bknkoutei.form.Hello2Form; @Controller public class Hello2Action { static protected Logger logger = LogManager.getLogger(Hello2Action.class); @Autowired MessageSource msgsrc; @RequestMapping(value="/hello2", method=RequestMethod.GET) public ModelAndView index( Hello2Form loginForm, BindingResult errors, ModelAndView modelview) { //modelview.addObject("teiId", "TEIID99"); modelview.setViewName("hello/bknContentList_index"); return modelview; } }