20110628
1. 昨天jsp页面遇到一问题,纠结了半个下午,直到今天才知道原因,就记录下来,希望对以后有用。
问题大致描述:jsp的form表单中有一个删除按钮,点击后调用js函数处理逻辑后并修改该表单action属性再提交表单,而关键是第一次提交能正常删除数据,第二次再点击删除另外一条记录就不可以了,jsp页面出了问题,说找不到对象。
最终找到原因是:form表单必须有action属性,即使是在js函数中修改action属性提交表单,但jsp页面表单中的action也不可少,即使他没用,否则不写就会出莫名其妙的错误。
2. Struts2标签链接的使用:
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 class="out_table" border="0" cellpadding="0" cellspacing="0" id="dictionaryTable">
即使此处的action写了没用但也不能省
<input type="button" class="btn span-2" 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>