gpt4 book ai didi

java - 从 Java 中的表单获取值时出现问题 - Apache Tomcat

转载 作者:行者123 更新时间:2023-12-01 14:59:35 25 4
gpt4 key购买 nike

嘿伙计们,我有这个表单,它被发送到一个烘焙机,它将获取在 Java 项目中输入表单字段的名称 - 我正在使用 Apache Tomcat v7.0 来运行它(servlet)对于某些人原因是,当我在烘焙文件中时,它告诉我表单文件中定义的方法不存在。

表单代码:

<form action="Band_roster" method="post">
<table cellspacing="5" border="0">
<tr>
<td align="right">Band 1:</td>
<td><input type="text" name=Band1.setbname()></td>
</tr>
<tr>
<td align="right">Band 2:</td>
<td><input type="text" name=Band2.setbname()></td>
</tr>
<tr>
<td align="right">Band 3:</td>
<td><input type="text" name=Band3.setbname()></td>
</tr>
<tr>
<td align="right">Band 4:</td>
<td><input type="text" name=Band4.setbname()></td>
</tr>
<tr>
<td align="right">Band 5:</td>
<td><input type="text" name=Band5.setbname()></td>
</tr>
<tr>
<td align="right">Band 6:</td>
<td><input type="text" name=Band6.setbname()></td>
</tr>
<tr>
<td align="right">Band 7:</td>
<td><input type="text" name=Band7.setbname()></td>
</tr>
<tr>
<td align="right">Band 8:</td>
<td><input type="text" name=Bandb.setbname()></td>
</tr>

<tr>
<td></td>
<td><br><input type="submit" value="Submit"></td>
</tr>
</table>
</form>

烘焙机代码:

<table cellspacing="5" cellpadding="5" border="1">
<tr>
<td align="right">Band1:</td>
<td><%= Band1.getBname() %></td>
</tr>
<tr>
<td align="right">Band2:</td>
<td><%= Band2.getBname() %></td>
</tr>
<tr>
<td align="right">Band3:</td>
<td><%= Band3.getBname() %></td>
</tr>
<tr>
<td align="right">Band4:</td>
<td><%= Band4.getBname() %></td>
</tr>
<tr>
<td align="right">Band5:</td>
<td><%= Band5.getBname() %></td>
</tr>
<tr>
<td align="right">Band6:</td>
<td><%= Band6.getBname() %></td>
</tr>
<tr>
<td align="right">Band7:</td>
<td><%= Band7.getBname() %></td>
</tr>
<tr>
<td align="right">Band8:</td>
<td><%= Band8.getBname() %></td>
</tr>

</table>

<p>Ready to Rock</p>

<form action="Band.jsp" method="post">
<input type="submit" value="submit">
</form>

烘焙文件是我遇到错误的文件 - Band8.getBname() 告诉我它无法解析,与 tr 中的每个 Band'number' 相同。

请告诉我这是否有意义,并感谢您的帮助!

最佳答案

因此,我假设您向我们展示的是来自两个不同 jsp 页面的源代码片段,并且第一个 jsp 页面呈现的 html 以某种方式发布到呈现第二个 jsp 页面的内容。

但是,您没有提及您是否正在使用某种 Web 框架、编写 servlet 或其他什么...也许您可以启发我们。

无论如何,您似乎缺少一些基本概念:

第一个 jsp 页面(带有表单)似乎不起作用。

大概,Band1、Band2 等对象是在第一个 jsp 页面的顶部定义的,但您没有显示它。

第一个 jsp 页面中输入字段的语法 <input type="text" name=Band1.setbname()>是不正确的。例如,假设 Band1 是页面中定义的对象,则输入字段应类似于: <input type="text" name="${Band1.bname}"> ,如果 Band1 有 getBname() 方法,则会将输入字段的值初始化为调用该方法的结果。但是,从您对“setbname”的使用来看,我猜测您希望它获取输入字段的值并使用它来设置 Band1 中的属性值。不幸的是,事实并非如此。所发生的情况是,表单字段中的值作为请求参数发送到第二页。

在第二个 jsp 页面中,假设 Band1 是在该页面中定义的,则可以使用正确的语法来输出 Band1.bname 的值。我猜不是的。您需要以某种方式将请求参数转换为 Band 的实例,或者 Band1 的任何类。

通常,人们不会 POST 到另一个 jsp 页面(尽管可以)。这类事情通常由 servlet 处理,或者更好的是由 Struts 或 Spring MVC 等 Web 框架中的 Controller 类处理。然后,servlet 或 Controller 通常会呈现 jsp 页面,并向其发送要引用的 Band 对象。

关于java - 从 Java 中的表单获取值时出现问题 - Apache Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13870533/

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