我在管理页面的视图中创建了一个文本字段和一个提交按钮,我想这样做,我提交的文本显示在同一页面上的文本框下面。
这是我进入adminPage的控制器:
@RequestMapping(value = "/adminPage", method = RequestMethod.POST)
public String adminPage(Model model) {
return "adminPage";
}
这就是我对adminPage的所作所为:
<form th:action="@{/adminPage}" method="post">
<textarea rows="4" cols="50">
</textarea>
<input type="submit" class="btn btn-lg btn-primary btn-block"
value="Submit Text"/>
</form>
我在控制器和MVC方面仍然很新,我发现很难在Java中使用我的知识,因为控制器看起来不像以前使用的任何Java,所以任何帮助将不胜感激!
答案 0 :(得分:0)
好的,没有Javascript。首先,textarea需要名称属性name="inputText"
。
当您的服务器方法收到请求时,该名称将在模型对象中使用:
@RequestMapping(value = "/adminPage", method = RequestMethod.POST)
public String adminPage(@RequestParam("inputText") String input, Model model) {
//Do stuff
model.addAttribute("theText", input); //add the text which can be accessed on "adminPage"
return "adminPage";
}
然后你可以在&#34; adminPage.jsp&#34;中添加<div>
。并在那里附加你的文字,如:
<div>${theText}</div>
答案 1 :(得分:0)
如果,我已经正确理解了您的问题,那么就是可以完成这项工作的解决方法。
当用户从浏览器访问/adinPage
时,input_data
变量将为null
,并且不会执行if条件。
将返回JSP页面,其中第二个textarea
为空。
您必须使用JSP
因为HTML
页无法更改。
<强> Controller.java 强>
@RequestMapping(value = "/adminPage", method = RequestMethod.POST)
public String adminPage(@RequestParam(value = "input_data", required = false) String input_data,Model model)
{
if(input_data!=null)
model.addAttribute("output_data",input_data);
return "adminPage";
}
<强> adminPage.jsp 强>
<form th:action="@{/adminPage}" method="post">
<textarea id="input_data" rows="4" cols="50">
</textarea>
<textarea rows="4" cols="50">
${output_data}
</textarea>
<input type="submit" class="btn btn-lg btn-primary btn-block"
value="Submit Text"/>
</form>
当用户提交表单时,将执行if条件,返回的视图将包含第二个textarea
我没有测试过代码,因此可能包含一些语法错误。