Failed to convert property value of type 'java.util.ArrayList' to required type 'java.lang.String' for property 'prefix'; <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix"> <list>
时间: 2024-02-22 20:56:21 浏览: 185
Failed to convert value of type ‘java.lang.String’ to required type ‘java.util.Date’; nested except
这个错误是因为在 Spring 的属性注入过程中,发现无法将类型为 'java.util.ArrayList' 的属性值转换为类型为 'java.lang.String' 的属性值,因为二者类型不匹配。根据你提供的代码片段,出错的地方是在配置 InternalResourceViewResolver 的 prefix 属性时。
原因是 prefix 属性应该是一个字符串类型,但是你使用了一个列表类型来设置这个属性的值。你需要将列表中的元素拼接成一个字符串作为 prefix 属性的值。例如:
```
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
```
在这个例子中,我们使用了字符串类型的值 "/WEB-INF/views/" 来设置 prefix 属性的值。如果你有多个值需要拼接,可以使用 Spring EL 表达式来实现。例如:
```
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="#{'/WEB-INF/views/'.concat(systemProperties['user.dir'])}" />
<property name="suffix" value=".jsp" />
</bean>
```
这个例子中,我们使用了 Spring EL 表达式来将 "/WEB-INF/views/" 和系统属性 user.dir 拼接成一个字符串作为 prefix 属性的值。
阅读全文