2014-05-04 40 views
2

当我把表单里面的代码:表单标签上查看cadastro.jsp:春天 - JSP形式:输入上jsp页面错误:jasperexception

<div class="form-group"> 
<label for="nome" class="col-sm-2 control-label"> name Project: </ label> 
<div class="col-sm-10"> 
<input for="nome" class="form-control" /> 
<form:errors path="nome" /> 
</div> 
</div> 

它的工作原理

但是当我把

<div class="form-group"> 
<label for="nome" class="col-sm-2 control-label"> Nome do Projeto: </ label> 
<div class="col-sm-10"> 
<form:input cssClass="form-control" path="nome" /> 
<form:errors path="nome" /> 
</div> 
</div> 

不能工作,因为表格:输入标签

错误:

HTTP Status 500 - An exception occurred processing JSP page /WEB-INF/view/cadastro.jsp at line 34

ProjetroController

@RequestMapping(value = "/novoProjeto", method = RequestMethod.POST) 
public String adicionarProjeto(@Valid @ModelAttribute("projeto") Projeto projeto, BindingResult result) { 
    if(result.hasErrors()) { 
     return("cadastro"); 
    } 
    projeto.setStatus("NOVO"); 
    this.pc.salvar(projeto); 
    return "redirect:/listar"; 

} 

回答

1

你必须进口弹簧形式的taglib序使用像弹簧形式的elemnets:

在JSP的顶部添加此

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

然后,你可以使用这样的:

<form:form id="myForm" method="post" action="/someAction" modelAttribute="formBean">    
    <form:label path="name"/> 
    <form:input path="name"/> 
<form:form> 

和您在控制器中添加了modelAttribute/command对象,如:

@RequestMapping(value="/someUrl", method=RequestMethod.GET) 
public String showForm(Model model){ 
    model.addAttribute("formBean", new FormBean()); 
    return "someViewName"; 
} 

FormBean类的样子:

public class FormBean { 

    private String name; 
    public FormBean(){} //default constructor 

    //getter and setter for name 
} 
+0

它的工作,但你忘了在方法showForm的回报,在案件是:回归“cadastro”当“cadastro”是我的JSP页面的 谢谢你的名字。 –

+0

@ user3602078感谢您指出return语句。 – Rembo

3

我认为你需要添加在你的形式<form:form>标签,如下所示:

<form:form> 
<div class="form-group"> 
<label for="nome" class="col-sm-2 control-label"> Nome do Projeto: </ label> 
<div class="col-sm-10"> 
<form:input cssClass="form-control" path="nome" /> 
<form:errors path="nome" /> 
</div> 
</div> 
</form:form> 

在春天正式文件,它指出:

All the other tags in this library are nested tags of the form tag.