- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在阅读《Spring MVC,初学者指南》一书。在一节中,它建议使用矩阵变量来传递高价和低价。在他们的示例中,声明指定字符串列表作为第二个参数(见下文)。
@MatrixVariable(pathVar="price") Map<String, List<String>> priceParams
但是,由于每个键只有一个值,我想我应该尝试这样的声明:
@MatrixVariable(pathVar="price") Map<String, String> priceParams
当我尝试访问与 Map
中存储的特定键关联的“值”时(使用 iterator.getKey()
和 iterator.getValue()
,我不断收到运行时 ClassCastException
错误。
"Request processing failed; nested exception is java.lang.ClassCastException: java.util.LinkedList cannot be cast to java.lang.String"
我尝试过不同的数据类型,例如Integer
, BigInteger
, Double
, Float
并且错误总是相同的(除了它不是 String
)
当我在调试中检查 PriceParams 时,数据类型显示为 LinkedMultiValueMap
目标 map 为 LinkedHashMap
.
我开始怀疑不可能使用 Map<K,V>
声明矩阵变量但只有Map<K, List<V>>
以 Map<K, List<V>>
的形式声明它有效,但您必须循环浏览 List
中的所有条目,即使只有一个存在。
如有任何帮助,我们将不胜感激
最佳答案
If the method parameter type is
Map
and a matrix variable name is specified, then the matrix variable value is converted to aMap
assuming an appropriate conversion strategy is available.If the method parameter is
Map<String, String>
orMultiValueMap<String, String>
and a variable name is not specified, then the map is populated with all matrix variable names and values.
因此您需要进行如下更新(即删除 pathVar
)
@MatrixVariable Map<String, String> priceParams
如果您仍然遇到任何问题,请在评论中告知
另请参阅 this文章以获取更多见解。
关于java - Spring @MatrixVariable 用于每个键单个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37325634/
我正在阅读《Spring MVC,初学者指南》一书。在一节中,它建议使用矩阵变量来传递高价和低价。在他们的示例中,声明指定字符串列表作为第二个参数(见下文)。 @MatrixVariable(path
我正在阅读这篇文章 http://www.kscodes.com/spring-mvc/spring-mvc-matrix-variable-example/一个优点是您可以使用变量类型 Map对于矩
我使用 Spring 3.2.6 来通过基本示例来学习 @MatrixVariable 功能。 我已经编写了此方法来从 URI 获取矩阵变量: @RequestMapping(value="/matr
今天我正在研究可从 STS 仪表板下载的 Spring MVC 展示 我对Spring 3.2版本引入的新注解@MatrixVariable和URI路径中Matrix变量的使用有些疑惑。 在我的 ho
升级到Spring Security 4.2.4之后,我发现StrictHttpFirewall现在是默认设置。 不幸的是,由于“;”,它不能与Spring MVC @MatrixVariable一起
我是一名优秀的程序员,十分优秀!