1
在下面的代碼,我正確geeting列表和圖,但是在更新我面臨例如級聯僅第一場rsoCode如果我的rsoCode是NH43然後它會涉及到控制器NH43,NH43。在更新的形式,它會顯示正確,但是當它涉及到彈簧屬性串聯屬性的值,隨後由逗號
雖然調試我已經觀察到,getRsoCode()調用的兩倍,而即將更新屏幕(在這裏我們可以更改值)。
這是JSP代碼
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<form:form action="" method="POST" commandName="updateRso">
<table>
<tr>
<td style="font-weight: bold; font-variant: small-caps;">RSO Code:</td>
<td><form:input path="rsoCode" value="${updateRso.rsoCode}" disabled="disabled"/></td></tr>
<tr><td style="font-weight: bold; font-variant: small-caps;">RSO Description:</td>
<td><form:input path="rsoDescriprion" value="${updateRso.rsoDescriprion}"/></td>
</tr>
<tr>
<td style="font-weight: bold; font-variant: small-caps;">Region Code:</td>
<td><form:input path="regionCode" value="${updateRso.regionCode}"/></td></tr>
<tr><td style="font-weight: bold; font-variant: small-caps;">Region Description:</td>
<td><form:input path="regiondescription" value="${updateRso.regiondescription}"/></td>
</tr>
<tr>
<td colspan="10" align="center"> <input type="submit" value="Submit"/> </td>
</tr>
</table>
</form:form>
控制器代碼
@Controller
public class ListRsoController {
private static final Logger logger = LoggerFactory.getLogger(ListRsoController.class);
@ModelAttribute("updateRso")
public ListRso getListRso()
{
ListRso updateRso = new ListRso();
return updateRso;
}
@RequestMapping(value="listrso")
public String listAllRso(ModelMap model) throws Exception{
ListRsoDao listDao = new ListRsoDao();
model.addAttribute("rsos", listDao.getList());
return "listrso/view";
}
@RequestMapping(value="getRsoDetails")
public String getRso(@RequestParam("rsoCode")String rsoCode, ModelMap model,HttpServletRequest req) throws Exception{
ListRsoDao lstdto = new ListRsoDao();
Object obj = lstdto.getRsoCode(rsoCode);
model.addAttribute("savedClass", obj);
return "listrso/viewdetails";
}
@RequestMapping(value="updateRsoDetails", method=RequestMethod.GET)
public String updateRso(@RequestParam("rsoCode")String rsoCode, ModelMap model,HttpServletRequest req) throws Exception{
ListRsoDao lstdto = new ListRsoDao();
Object obj = lstdto.getRsoCode(rsoCode);
model.addAttribute("updateRso", obj);
return "listrso/updatedetails";
}
@RequestMapping(value="deleteRsoDetails")
public String deleteRso(@RequestParam("rsoCode")ListRso rsoCode, ModelMap model,HttpServletRequest req) throws Exception{
ListRsoDao lstdto = new ListRsoDao();
lstdto.deleteRso(rsoCode);
//model.addAttribute("savedClass", obj);
return "listrso/deleteSuccess";
}
@RequestMapping(method = RequestMethod.POST, value="updateRsoDetails")
protected String onSubmit(@ModelAttribute("updateRso") ListRso rsoCommand, ModelMap model) throws Exception
{
model.clear();
new ListRsoDao().updateRso(rsoCommand);
model.addAttribute("savedClass", rsoCommand);
return "listrso/view";
}
}
的Java Bean
public class ListRso {
private String rsoCode;
private String rsoDescriprion;
private String regionCode;
private String regiondescription;
public ListRso(String rsoCode, String rsoDescriprion, String regionCode,
String regiondescription) {
super();
this.rsoCode = rsoCode;
this.rsoDescriprion = rsoDescriprion;
this.regionCode = regionCode;
this.regiondescription = regiondescription;
}
public ListRso(String rsoCode)
{
this.rsoCode = rsoCode;
}
public ListRso() {
// TODO Auto-generated constructor stub
}
public String getRsoCode() {
return rsoCode;
}
public void setRsoCode(String rsoCode) {
this.rsoCode = rsoCode;
}
public String getRsoDescriprion() {
return rsoDescriprion;
}
public void setRsoDescriprion(String rsoDescriprion) {
this.rsoDescriprion = rsoDescriprion;
}
public String getRegionCode() {
return regionCode;
}
public void setRegionCode(String regionCode) {
this.regionCode = regionCode;
}
public String getRegiondescription() {
return regiondescription;
}
public void setRegiondescription(String regiondescription) {
this.regiondescription = regiondescription;
}
}
上面我已經嘗試過的解決方案但它仍然是行不通的。雖然調試運行我觀察到,getRsoCode所謂的兩倍,而redering更新的詳細信息屏幕我指的是屏幕,一個可以改變 – Kamahire 2013-04-10 09:49:12
在名單我已經看到在頁面上查看源代碼的數據值,它是填充在一次,但更新頁它是填充兩次,以及它如何添加逗號和連接這些值 – Kamahire 2013-04-10 09:57:54
@Kamahire ListRsoDao返回什麼?您需要將所有表單元素更改爲僅引用路徑。 – NimChimpsky 2013-04-10 10:03:27