Java代码
- @InitBinder
- public void initBinder(WebDataBinder binder) {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- dateFormat.setLenient(false);
- binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
- binder.registerCustomEditor(SystemInfo.class, new PropertyEditorSupport() {
- @Override
- public void setAsText(String text) throws IllegalArgumentException {
- if (!StringUtils.hasText(text)) {
- return;
- }
- {
- Long systemInfoId = Long.valueOf(text);
- SystemInfo systemInfo = systemInfoService.findById(systemInfoId);
- setValue(systemInfo);
- }
- }
- });
- binder.registerCustomEditor(Category.class, new PropertyEditorSupport() {
- @Override
- public void setAsText(String text) throws IllegalArgumentException {
- if (!StringUtils.hasText(text)) {
- return;
- } else {
- Long categoryId = Long.valueOf(text);
- Category category = categoryService.findById(categoryId);
- setValue(category);
- }
- }
- });
- }
Html代码
- <form:form modelAttribute="categoryEditForm" id="categoryForm" method="post" action="saveOrUpdate.do">
- <form:hidden path="category.objectId" />
- <input type="hidden" name="category.parent" value="${categoryEditForm.category.parent.objectId}"/>
- <input type="hidden" name="category.systemInfo" value="${categoryEditForm.category.systemInfo.objectId }"/>
- <div class="area">
- <div class="areaTitle">
- <div class="inner">
- <label>Category Information Form</label>
- <div class="clear"></div>
- </div>
- </div>
- </div>
- <div class="areaBody">
- <table class="formTable">
- <tbody>
- <tr>
- <td colspan="4">
- <span class="button"><span><a href="javascript:sumbit();" class="btnSave">Submit</a></span></span>
- </td>
- </tr>
- <tr>
- <td colspan="4"> </td>
- </tr>
- <tr>
- <td align="right">Parent Category Name:</td>
- <td colspan="3"><form:input path="category.parent.name.fullName" readonly="true" id="parentCategory" cssClass="input readOnly" /></td>
- </tr>
- <tr>
- <td align="right">Current Category Name:</td>
- <td><form:input path="category.name.fullName" id="categoryName" cssClass="input"/></td>
- <td align="right">description:</td>
- <td><form:input path="category.description" id="description" cssClass="input"/></td>
- </tr>
- </tbody>
- </table>
- </div>
- </form:form>