2017-05-31 112 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" %> 
相關問題