Java spring mvc占位符未使用标记打印

Java spring mvc占位符未使用标记打印,java,spring,spring-mvc,Java,Spring,Spring Mvc,我用spring框架创建了一个表单。对于每个字段,我都创建了一个占位符属性。我的问题是,对于address.jsp文件中名为“streetNumber”的输入标记,它不打印占位符的值,而是打印“0”值 你有什么解决办法吗 多谢各位 Address.java: public class Address { private String streetName; private int streetNumber; private String zipCode; priv

我用spring框架创建了一个表单。对于每个字段,我都创建了一个占位符属性。我的问题是,对于address.jsp文件中名为“streetNumber”的输入标记,它不打印占位符的值,而是打印“0”值

你有什么解决办法吗

多谢各位

Address.java:

public class Address {
    private String streetName;
    private int streetNumber;
    private String zipCode;
    private String city;
    private String country;

    public String getStreetName() {
         return streetName;
    }
    public void setStreetName(String streetName) {
         this.streetName = streetName;
    }
    public int getStreetNumber() {
         return streetNumber;
    }
    public void setStreetNumber(int streetNumber) {
         this.streetNumber = streetNumber;
    }
    public String getZipCode() {
         return zipCode;
    }
    public void setZipCode(String zipCode) {
         this.zipCode = zipCode;
    }
    public String getCity() {
         return city;
    }
    public void setCity(String city) {
         this.city = city;
    }
    public String getCountry() {
         return country;
    }
    public void setCountry(String country) {
         this.country = country;
    }
}
AddressController.java:

@Controller
public class AddressController {

    @RequestMapping(value="/address",method=RequestMethod.GET)
    public ModelAndView init(){
            ModelAndView modelAndView = new ModelAndView("address");
            modelAndView.addObject("address",new Address());
            return modelAndView;
    }

    @RequestMapping(value="/address",method=RequestMethod.POST)
    public ModelAndView validate(@ModelAttribute("address") Address address, BindingResult result){

              return new ModelAndView("address");
     }

}
Address.jsp:

<forms:form method="post" modelAttribute="address" action="/address">
      <spring:message code="streetName" var="streetName" />
      <forms:input path="streetName" id="streetName" placeholder="${streetName}" />

      <spring:message code="streetNumber" var="streetNumber" />
      <forms:input path="streetNumber" id="streetNumber" placeholder="${streetNumber}" />

      <spring:message code="zipCode" var="zipCode" />
      <forms:input path="zipCode" id="zipCode" placeholder="${zipCode}"/>

      <spring:message code="city" var="city" />
      <forms:input path="city" id="city" placeholder="${city}" />

      //rest of the code

 </forms:form>

由于您在域类中将streetNumber定义为int类型,因此它将默认为“0”。如果希望将输入默认为空,则将streetNumber设置为java.lang.Integer类型,这是int的包装类。警告:如果使用@InitBinder,则可能必须将其设置为允许整数类为空。is forms:input,来自Spring框架jsp表单标记库uri的jsp输入标记=http://www.springframework.org/tags/form?Yes,forms:input是springjstl标记。它将创建一个文本类型的输入字段,该字段绑定到指定的模型属性。
addressBtnText = Adress
gpsBtnText = GPS
homePageTitle = Geo Accessibility - HomePage
streetName = Street
streetNumber = N°
zipCode = Zip Code
city = City
selectCountry = Select a country
adressValidateBtn = Confirm
backButton = Back
AccessibilityIndexTitle = Accessibility index
graphicResult = Graphic Results
completeResult = Complete Results
typingAdressUrlTitle = GeoAccessibility - Type your address
accessibilityResultUrlTitle = Accessibility Index
mapTitle = GeoAccessibility - Graphic Results
accessibilityResultTitle = "GeoAccessibility - Results"