我正在开发一个spring-mvc应用程序。在应用程序中,有各种类型的事件,用户可以注册。至于注册,有一个标准的公式,其中包括firstName,email,address等详细信息。我只是给出不同的c:url值,具体取决于它是哪个事件。 我想知道是否可以在另一个jsp文件中包含表单(不是c:url部分),只需调用jsp:include。这对我很有用,因为当需要对表单进行样式设置,更新等时,我只需要更新一个文件。我包括表单的外观。请看看。感谢
eventregistration.jsp:
<c:url var="addAction" value="/student/add/seminar-e-commerce" ></c:url>
<form:form class="seminar-form" action="${addAction}" commandName="students">
<table>
<form:hidden path="studentid"/>
<label>Firstname/LastName <span class="color-red">*</span></label>
<form:input path="firstname" type="text" class="span6 border-radius-none" />
<span> </span>
<form:input path="lastname" type="text" class="span6 border-radius-none pull-right" />
<label>Email-Address <span class="color-red">*</span></label>
<form:input path="emailadress" type="text" class="span12 border-radius-none" />
<label>Street Name/Number <span class="color-red">*</span></label>
<form:input path="address1" type="text" class="span10 border-radius-none" />
<span> </span>
<form:input path="address2" type="text" class="span2 border-radius-none pull-right" />
<label>City/PLZ <span class="color-red">*</span></label>
<form:input path="city" type="text" class="span10 border-radius-none" />
<span> </span>
<form:input path="plz" type="text" value="" class="span2 border-radius-none pull-right" />
<label>Handy Number <span class="color-red"></span></label>
<form:input path="handynumber" type="text" value="" class="span12 border-radius-none" />
<label path="newsletterpermission">Want to subscribe newsletter?</label>
<form:radiobutton path="newsletterpermission" class="form-control" value="true"/>Yes
<form:radiobutton style="margin-left:15px" path="newsletterpermission" class="form-control" value="false"/>No
<br/>
<br/>
<c:if test="${empty students.firstname}">
<input class="btn-u" type="submit"
value="<spring:message text="Register for event"/>" />
</c:if>
</table>
</form:form>
任何指针都会很好。非常感谢。
答案 0 :(得分:0)
您可以使用控制器中的入口点/方法实现此操作,并使用下面的
操作路径变量 @RequestMapping(value="/student/{action}", method = RequestMethod.POST)
public String EntryPoint(@PathVaribale String action, ModelMap model) {
switch (action) {
case "add":
// delegate to addMethod
break;
case "activate":
// delegate to activateMethod
break;
case "register":
// delegate to registerMethod
break;
default:
///Unsurported operation
}
return "index";
}
并且你可以保留c:url,记得在负责设置表单bean的控制器方法上设置model.action属性,为你的case bean设置或使其更通用
<c:url var="action" value="/student/model.action/" ></c:url>