我正在尝试用Spring MVC创建表单来编辑某个对象。此对象的某些字段在创建时设置,然后无法编辑,因此必须在编辑表单上显示,如纯文本,而不是输入。 当我没有找到像spring一样的smth时,我感到非常惊讶:spring中的输出表单标签库。怎么办?请帮忙 :) 这是我的表格代码:
<?xml version="1.0" encoding="UTF-8" ?>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<h1><spring:message code="Information" /></h1>
<form:form commandName="shop" method="POST">
<table>
<tr>
<td><spring:message code="ShopCompanyName"/>
<td colspan="2">**HERE MUST BE A STATIC TEXT
FILLED WITH THE VALUE OF SOME FIELD FROM OBJECT**</td>
</tr>
<tr>
<td colspan="3"><h2><spring:message code="Contacts"/></h2></td>
</tr>
<tr>
<td><spring:message code="ShopUserLN"/></td>
<td><form:input path="user.lastName"/></td>
<td><form:errors path="user.lastName" cssClass="error"/></td>
</tr>
<tr>
<td><spring:message code="ShopUserFN"/></td>
<td><form:input path="user.firstName"/></td>
<td><form:errors path="user.firstName" cssClass="error"/></td>
</tr>
<tr>
<td><spring:message code="ShopUserMN"/></td>
<td><form:input path="user.middleName"/></td>
</tr>
<tr>
<td><spring:message code="ShopUserPhone"/></td>
<td><form:input path="user.phone"/></td>
<td><form:errors path="user.phone" cssClass="error"/></td>
</tr>
</table>
<input type="submit" value="Save">
</form:form>
答案 0 :(得分:2)
<c:out value="${someObject.someProperty}"/>
甚至
${someObject.someProperty}
如果不需要进行XML转义。
答案 1 :(得分:0)
如果您想在Spring中的一行中创建多个字段,那么您可能会使用以下代码:
<tr>
<td><form:label path="first_name">First Name:</form:label></td>
<td><form:input path="first_name" /></td>
<td><form:label path="last_name">Last Name:</form:label></td>
<td><form:input path="last_name" /></td>
</tr>
这是在单行中创建表单字段的最简单方法...
答案 2 :(得分:0)
如果已将输出分离到标记文件,则可以使用spring数据绑定和status对象,以避免表单名称或对象“ shop”的切换:
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="my" tagdir="/path/to/tag"%>
<form:form commandName="shop" method="POST">
<my:formFieldFixed path="name"/>
</form>
并在/path/to/tag/formFieldFixed.tag文件中
<%@ attribute name="path" required="true" type="java.lang.String" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<spring:bind path="${path}">
<span>${status.value}</span>
</spring:bind>
使用这样的绑定,您还可以将表单错误与表单容器分开,还有很多其他事情。在这里查看示例: https://docs.spring.io/spring/docs/1.1.5/taglib/tag/BindTag.html