gpt4 book ai didi

java - Spring MVC Thymeleaf错误: array element type mismatch

转载 作者:行者123 更新时间:2023-11-30 06:34:17 24 4
gpt4 key购买 nike

以下代码应该生成一个文本输入表,其中给定的二维字符串数组的维度指定为 ModelAttribute。此外,每个输入的占位符是其在数组中各自的值。然后,用户输入自己的文本值,按下“提交输入”后,这些值将按顺序输出,并用空格分隔。

InputHolder.java

public class InputHolder {

private String[][] input;

public String[][] getInput() {
return input;
}

public void setInput(String[][] input) {
this.input = input;
}

}

GreetingController.java

public class GreetingController {

@ModelAttribute("string2d")
public String[][] make2dStringArray() {
return new String[][] {{"The", "quick", "brown"}, {"fox", "jumps", "over"}, {"the", "lazy", "dog."}};
}

@RequestMapping(value="/greeting")
public String recieveInput(final InputHolder inputHolder, Model model) {
if (inputHolder == null || inputHolder.getInput() == null)
return "greeting";
String output = "";
for (String[] row : inputHolder.getInput())
for (String str : row)
output += " " + str;
model.addAttribute("output", output);
return "greeting";
}

}

greeting.html

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Test Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form action="/greeting" th:object="${inputHolder}" method="POST">
<table>
<tr th:each="row,rowStat : ${string2d}">
<td th:each="string,stringStat : ${row}">
<input type="text" th:field="*{input[__${rowStat.index}__][__${stringStat.index}__]}" th:placeholder="${string}" />
</td>
</tr>
</table>
<button type="submit" name="submitInput">Submit Input</button>
</form>
<p th:text="'Output:' + ${output}"></p>
</body>
</html>

一切正常,直到我按“提交输入”,此时我收到以下错误:

java.lang.IllegalArgumentException: array element type mismatch at java.lang.reflect.Array.set(Native Method)

尽管这显然是 Java 端错误,但错误消息并未给出发生错误的特定行号,并且当错误发生时它也不会在 Debug模式下暂停。我不知道为什么会发生这个特定错误,因为在我看来,我的对象类型(字符串、字符串数组、二维字符串数组)在整个代码中是一致/正确的,而且正如我所说,我不知道到底在哪里据推测发生了错误。

最佳答案

好吧,我发现了错误...我忘记实例化 InputHolderinput 字段。

尽管如此,调试确实没有帮助。不存在“类型不匹配”; “空指针”或“数组索引越界”怎么样?行号也很好。

关于java - Spring MVC Thymeleaf错误: array element type mismatch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45468478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com