1、 发现了一个document.all与document.getElementsByName("xxx")的问题
document.all与document.getElementsByName()的区别 害我整整调试了近个把小时 还是基础不好呀,
确实, 就单获得页面中的一个元素的话, document.all(name)与document.getElementsByName(name)确实一样, 它们的返回值都是objcect数组
但是当要获取object数组的长度时就体现出差别来了,当name的元素只有1个时 document.all.name.lengthf返回undefined
而document.getElementsByName("name")则会返回1
2、 异常: java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!
是 参数数组的问题, 已解决。
3、 在struts2 我想使用如下的方式在一个action中调用另外一个action:
<result name="backsuccess" type="redirect">backSendedNews.action?goPage=1</result>
这样子做试验成功, 但是这种方式只能跟一个参数, 如果跟多个参数如:
<result name="backsuccess" type="redirect">backSendedNews.action?goPage=1;paramBack=110</result>
其在action中被解析为: java.lang.NumberFormatException: For input string: "1;paramBack=110"
也许你要说在多个参数之间使用&进行分割就行了, 但是.xml文件约束了不能使用&
那么如何正确地跟多个参数呢?
<!-- 删除后台 信息 -->
<action name="deleteNews" class="deleteMsg" method="deleteNews">
<result name="backsuccess" type="redirectAction">
<param name="actionName">backSendedNews</param>
<param name="param1">1</param>
<param name="param2">110</param>
</result>
<result name="frontsuccess" type="redirect">lookAllNews.action?goPage=1;paramBack=0</result>
</action>
这种方式是可以跟多个参数, 而且在action中也可以接收到这些参数的值, 但是假如在接收的action中没有这些param对应的name属性值的set方法的话就会抛出异常:
Unable to set parameter [param1] in result of type [org.apache.struts2.dispatcher.ServletActionRedirectResult]
——————————注意:
还需要注意的是如果上述的type写成redirect的话那么则actionName后的action就需要添加.action后缀。
感觉采取这种通过action去调用action的删除方式, 删除还不会刷新页面, 真是一举两得呀。
一个更为具体的例子:
<action name...>
<result name="aaa" type="redirectAction">
<param name="actionName">action11 </param>
<param name="namespace">/namespace11 </param>
<param name="param1">aa1 </param>
<param name="param2">aa2 </param>
<param name="param3">aa3 </param>
</result>
</action>
生成的url是:/namespace1/action11.action?param1=aa1¶m2...
—————————————————————————————————————————————————————————
实现也不只有一种,你也可以这样实现:
<package name="public" extends="struts-default">
<!-- Chain creatAccount to login, using the default parameter -->
<action name="createAccount" class="...">
<result type="chain">login </result>
</action>
<action name="login" class="...">
<!-- Chain to another namespace -->
<result type="chain">
<param name="actionName">dashboard </param>
<param name="namespace">/secure </param>
</result>
</action>
</package>