2017-05-31 113 views
0

我有jsp文件并试图从两个文本字段插入值。我使用<form:input path="name" />进行输入,但运行时不显示文本字段(图1)。表单输入文本字段不起作用

<form:form method="POST" commandName="student"> 
     <table> 
      <tr> 
       <td>Enter your name:</td> 
       <td><form:input path="name" /></td> 
       <td><form:errors path="name" cssStyle="color: #ff0000;"/></td> 
      </tr> 
      <tr> 
       <td>Enter your last name:</td> 
       <td><form:input path="lastName" /></td> 
       <td><form:errors path="lastName" cssStyle="color: #ff0000;"/></td> 
      </tr> 
      <tr> 
       <td><input type="submit" name="submit" value="Submit"></td> 
      </tr> 
      <tr> 
     </table> 
    </form:form> 

学生控制器

@Controller 
@RequestMapping("/student.htm") 
public class StudentController { 

    @Autowired 
    @Qualifier("studentValidator") 
    private Validator validator; 

    @InitBinder 
    private void initBinder(WebDataBinder binder) { 
     binder.setValidator(validator); 
    } 

    @RequestMapping(method = RequestMethod.GET) 
    public String initForm(Model model){ 
     Student student = new Student(); 
     model.addAttribute("student", student); 
     return "student"; 
    } 

    @RequestMapping(method = RequestMethod.POST) 
    public String submitForm(
     Model model, @Validated Student student, BindingResult result) { 
     String returnVal = "success"; 
     if(result.hasErrors()) { 
      returnVal = "student"; 
     } else { 
      model.addAttribute("student", student); 
     }  
     return returnVal; 
    } 

} 

图片1

enter image description here

回答

0

包括标签库,并从控制器发送命令名(学生)的形式

<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %> 
<form:form method="POST" modelAttribute="student"> 
    <table> 
     <tr> 
      <td>Enter your name:</td> 
      <td><form:input path="name" /></td> 
      <td><form:errors path="name" cssStyle="color: #ff0000;"/></td> 
     </tr> 
     <tr> 
      <td>Enter your last name:</td> 
      <td><form:input path="lastName" /></td> 
      <td><form:errors path="lastName" cssStyle="color: #ff0000;"/></td> 
     </tr> 
     <tr> 
      <td><input type="submit" name="submit" value="Submit"></td> 
     </tr> 
     <tr> 
    </table> 
</form:form> 

@Controller

@RequestMapping(value="/")//your mapped path 
public String indexPage(Model model){ 
    model.addAttribute("student",new Student()); 
    return "index";//your view Name 
} 

@PostMapping("/") 
public String register(@Valid @ModelAttribute("student") Student student,BindingResult result){ 
// your logic 
} 
+0

我接着说:<%@ taglib'和tested.now了500错误(发生异常处理JSP页面[/index.jsp]在[12]行)。在第12行显示'' – Tje123

+0

yes!你正确的,你需要从你的控制器传递命令名(学生) –

+0

我编辑了我的文章,我完全是新的这个,我怎么传递命令? – Tje123

0

确保您在您的网页本文标签:

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> 
相关问题