0
다음 input 태그는 항목이 myMap의 항목 인 경우 사용합니다.Spring 양식의 해시 맵
<form:input path="myMap[${entry.key}].parameters[${counter}].value" />
및 다음 개체
Map<Long, MyViewModel> myMap;
public class MyViewModel {
private List<My2ViewModel> parameters;
...
entry.key의 값이 정수의 경우는, 모든 prefectly 작동합니다. 그것은 긴하지만 (예. 5,000,000,000는) 그것은
org.springframework.expression.spel.SpelParseException: EL1035E:(pos 14): The value '5000000000' cannot be parsed as an int
at org.springframework.expression.spel.ast.Literal.getIntLiteral(Literal.java:79)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.maybeEatLiteral(InternalSpelExpressionParser.java:688)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatStartNode(InternalSpelExpressionParser.java:429)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatPrimaryExpression(InternalSpelExpressionParser.java:282)
at org.springframework.expression.spel.standard.InternalSpelExpressionParser.eatUnaryExpression(InternalSpelExpressionParser.java:275)
...
Caused by: java.lang.NumberFormatException: For input string: "5000000000"
내가 (스티븐의 제안)는 L을 추가
가, 내가 다른 오류가 충돌합니다.<form:input path="myMap[${entry.key}L].parameters[${counter}].value" />
java.lang.IllegalArgumentException: The field type is required
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.webflow.mvc.view.ConvertingPropertyEditorAdapter.<init>(ConvertingPropertyEditorAdapter.java:48)
at org.springframework.webflow.mvc.view.BindingModel.findSpringConvertingPropertyEditor(BindingModel.java:277)
at org.springframework.webflow.mvc.view.BindingModel.findEditor(BindingModel.java:183)
at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:125)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:179)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:199)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:165)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.autogenerateId(AbstractDataBoundFormElementTag.java:152)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.resolveId(AbstractDataBoundFormElementTag.java:143)
at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.writeDefaultAttributes(AbstractDataBoundFormElementTag.java:127)
at org.springframework.web.servlet.tags.form.AbstractHtmlElementTag.writeDefaultAttributes(AbstractHtmlElementTag.java:421)
at org.springframework.web.servlet.tags.form.InputTag.writeTagContent(InputTag.java:142)
...
경우에 따라 숫자가 지수 형식으로 변환됩니다. – upog