2012-10-28 79 views
3

我试图用Spring MVC来编辑一些对象。此对象的某些字段在创建时设置,然后无法编辑,因此它们必须以纯文本的形式显示,而不像输入。 当我没有发现像春天一样的水手时,我非常惊讶:春季输出形式标签库。怎么办?请帮助:) 这里是我的窗体的代码:Spring MVC窗体静态文本

<?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> 

回答

2
<c:out value="${someObject.someProperty}"/> 

甚至

${someObject.someProperty} 

如果XML转义是没有必要的。

+0

谢谢工作!但是,当表单提交时,它会将此字段值提交给控制器吗? –

+0

不,这是静态文本,正如您所问。如果你想提交它(但为什么不在服务器端重新生成它),那么你需要一个隐藏的表单字段。 –

+0

要在服务器端重新生成它,我将不得不再次从数据库中获取此对象,使用提交的对象的值更新检索到的对象中的所有可编辑文件,然后保存更新的对象..这不好,我认为......将它一个好方法是使用一个静态字段显示数据和一个隐藏字段,以便在保存整个对象时将其隐藏到服务器,所以它不会是空的? –

0

如果您想在一个行春季创建多个字段,那么你可以用下面的代码:

<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

问题是“如何放置纯文本,而不是输入。” – naXa