Struts2日常Issue积累
20110628
1. 昨天jsp页面遇到一问题,纠结了半个下午,直到今天才知道原因,就记录下来,希望对以后有用。
问题大致描述:jsp的form表单中有一个删除按钮,点击后调用js函数处理逻辑后并修改该表单action属性再提交表单,而关键是第一次提交能正常删除数据,第二次再点击删除另外一条记录就不可以了,jsp页面出了问题,说找不到对象。
最终找到原因是:form表单必须有action属性,即使是在js函数中修改action属性提交表单,但jsp页面表单中的action也不可少,即使他没用,否则不写就会出莫名其妙的错误。
<s:form action="findAllDictionary" namespace="/codeTableMgmt"><s:hidden id="deleteDictionaryId" name="dictionary.id"></s:hidden><table border="0" cellpadding="0" cellspacing="0" id="dictionaryTable">即使此处的action写了没用但也不能省
<input type="button" value="Delete" onclick="deleteDictionary(${per.id })"/>function deleteDictionary(dictionaryId){if(confirm("Are you sure to delete this?")){$("#deleteDictionaryId").val(dictionaryId); document.forms[1].action="deleteDictionary"; document.forms[1].submit();}}2. Struts2标签链接的使用:
<td><s:url id="url" value="updateDictionary" namespace="/codeTableMgmt"> <s:param name="dictionary.id" value='#per.id'></s:param> </s:url><s:a href="%{url}" cssClass="handLink"> <s:property value="#per.attributeValue"/></s:a></td>