Error setting expression'tel'with value'[Ljava.lang.String; @38ec843'와'user.tel'with value
4116 단어 bug
Error setting expression 'tel' with value '[Ljava.lang.String;@101fe4ec'
ognl.MethodFailedException: Method "setTel" failed for object org.action.MyTypeConverterAction@6479a12e [java.lang.NoSuchMethodException: org.action.MyTypeConverterAction.setTel([Ljava.lang.String;)]
오류 보고는 문자열에서 Tel 클래스 오류로 바뀌었다는 뜻입니다.사실 나의 문제는 전환에서 나온 것이 아니다. 나는 아래의 코드 때문이다
public Object convertValue(Map context,Object value,Class toType) {
//
if (toType==Tel.class) {
System.out.println(" ");
String strTel=(String) value;
if (strTel.indexOf('-')<0) {
return null;
}
String[] arr=strTel.split("-");
Tel tel=new Tel();
tel.setSectionNo(arr[0]);
tel.setTelNo(arr[1]);
return tel;
}
...
}
내가 이렇게 쓴 것을 알아차렸다
String strTel=(String) value;
나는 문자열을 수신하기만 하면 실질적으로 하나의 문자열 그룹이라고 생각한다. 왜냐하면 페이지에서 전달되는 수치가 한 가지가 아닐 수 있기 때문이다. 예를 들어 몇 개의 입력 상자의 이름이 같기 때문에 나의 이런 생각은 틀렸다. 실행하고 있다String strTel=(String) value;
이 문장을 인쇄할 때 오류가 발생했습니다. strtel을 인쇄할 때 출력할 수 없습니다.해결 방법은 수조로 바꾸는 것이다String[] strTel=(String[]) value;
변경된 코드 if (toType==Tel.class) {
System.out.println(" ");
String[] strTel=(String[]) value;
if (strTel[0].indexOf('-')<0) {
return null;
}
String[] arr=strTel[0].split("-");
Tel tel=new Tel();
tel.setSectionNo(arr[0]);
tel.setTelNo(arr[1]);
return tel;
}
잘못 바꾸면 이것을 보고할 것이다
No result defined for action org.action.MyTypeConverterAction and result input
input를 되돌려줍니다. input의 오류, 예를 들어 int형, 문자열을 입력했습니다.
뒤에 나는 그를 엔지니어로 옮겼는데, 또 문제가 생겼는데, 아래와 같이 잘못 보고하였다.
Error setting expression 'user.tel' with value '[Ljava.lang.String;@6b7a33b7'
왜냐하면 이 때tel은 사용자 클래스에 봉인되어 있고, 액션 클래스에 있는 xx-conversion이기 때문이다.properties 파일이 바뀌지 않았습니다.
tel=org.converter.TelConverter
그러니까 고쳐야 돼
user.tel=org.converter.TelConverter
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
useState 버그 파트 I: 예기치 않은 상태 업데이트.이 질문을 명심하십시오. 이 useState 버그 시리즈 파트에서는 useState의 가장 일반적인 문제와 해결 방법에 대해 이야기하겠습니다. 이 작은 앱의 예를 들어 보겠습니다. 이것은 우리가 시연을 위해 사용할 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.