gpt4 book ai didi

java - 提交同一 jsp 中存在的第二个表单时出错...需要建议

转载 作者:太空宇宙 更新时间:2023-11-04 08:14:29 25 4
gpt4 key购买 nike

我有一个 JSP,名为 myPage.jsp

在jsp中我有两个div

每个 div 包含一种形式,如下所示:

div A:

<div class="validation-box">                
<form:form id="compnay-detail" method="post" action="companySave.do" commandName="company">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="col"><label>Address Type</label> <form:input type="text" path="addressType" class="textbox" name="addressType" id="addType" maxlength="20" />
</td>
<td class="col"><label>Street</label> <form:input path="street"
class="textbox" name="street" id="street" maxlength="50" />
</td>
</tr>
<tr>
<td colspan="3" class="no-padding">
<div class="button-pannel margin-top">
<span class="lhscrv"> <span class="rhscrv"> <input type="submit" class="bttn" id="saveAddress" value="Save" />
</span>
</span> <span class="lhscrv"> <span class="rhscrv"> <input
type="button" class="bttn" id="reset" value="Reset" />
</span>
</span> <span class="lhscrv"> <span class="rhscrv"> <input
type="button" class="bttn" id="cancel" value="Cancel" />
</span>
</span>
</td>
</tr>
</table>
</form:form>
</div>

div B:

<div class="validation-box">                
<form:form id="compnayAddDetail" method="post" action="test.do" commandName="address">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="col"><label>Address Type</label> <form:input type="text" path="addressType" class="textbox" name="addressType" id="addType" maxlength="20" />
</td>
<td class="col"><label>Street</label> <form:input path="street"
class="textbox" name="street" id="street" maxlength="50" />
</td>
</tr>
<tr>
<td colspan="3" class="no-padding">
<div class="button-pannel margin-top">
<span class="lhscrv"> <span class="rhscrv"> <input type="submit" class="bttn" id="saveAddress" value="Save" />
</span>
</span> <span class="lhscrv"> <span class="rhscrv"> <input
type="button" class="bttn" id="reset" value="Reset" />
</span>
</span> <span class="lhscrv"> <span class="rhscrv"> <input
type="button" class="bttn" id="cancel" value="Cancel" />
</span>
</span>
</td>
</tr>
</table>
</form:form>
</div>

我的 Controller 类别:

@RequestMapping("/companySave.do")
public String saveCompany(Map<String, Object> map, @ModelAttribute("company")
Company company,@ModelAttribute("address")
CompanyAddress address, BindingResult result)
{
//...... code.......
return "redirect:/companyAddressPage/"+company.getId()+".do";

}

@RequestMapping("/companyAddressPage/{id}.do")
public String companyAddressPage(@PathVariable("id") long id,Map<String, Object> map, @ModelAttribute("company")
Company company,@ModelAttribute("address")
CompanyAddress address, BindingResult result)
{ //...... code.......
return "myPage";
}

@RequestMapping("/test.do")
public String saveAddressCompany(Map<String, Object> map, @ModelAttribute("company")
Company company,@ModelAttribute("address")
CompanyAddress address, BindingResult result)
{ //...... code.......
return "myPage";
}

目标:

提交 div A 中的第一个表单后,我想启用 div B,其中将包含另一个表单。

问题:

第一个表单已正确提交,但是当我单击第二个表单的提交按钮时,它会抛出异常(甚至没有调用操作)

异常(exception):

无法将值测试从类型“java.lang.String”转换为类型“long”;嵌套异常是 java.lang.NumberFormatException: For input string: "test"] with root Cause

有什么想法吗......???

提前致谢...!!!

最佳答案

编辑:另请参阅评论。

您需要在第二个表单的操作属性前面添加一个正斜杠:

action="/test.do"

否则,您将最终到达/companyAddressPage/test.do,因为您刚刚被重定向到/companyAddressPage/1.do(其中 1 是示例 ID)。这是因为第二种形式的action属性是相对的。

关于java - 提交同一 jsp 中存在的第二个表单时出错...需要建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10681182/

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