使用JavaScript进行页面某部分显示/隐藏操作的方法:
document.all.某部分的id名.style.display=none(隐藏)或者block(显示)
设定Text域默认值的方法,只需要在ActionForm中,在相应的field声明时赋上默认值就可以了。比如:private String userName = “default name”;
<o:p> </o:p>
Struts的Bean标签中,bean:define用来定义一个变量,它可以说是<jsp:useBean>和<jsp:setProperty>的合成。而bean:write则相当于<jsp:getProperty>。
在Java里,像Object a = new String();这样的语句是成立的(其实这是基本的继承的知识)。这个成立使得Factory Method成为可能。
<o:p> </o:p>
都是静态公有函数的类,如果要防止实例化,可以:
1.将类写成abstract
2.将构造函数写成private
<o:p> </o:p>
<logic:messagesPresent>标签可以判断当前页中有没有相关的message/errors消息存在。并且,这个标签还可以指定其所对应的域,这使得我们可以用message/error消息作为一些标志(flag)。用法, 例如:
<logic:messagesPresent property="empName"><bean:define id="style" value="display:block"/></logic:messagesPresent>
如果页面中有相对于empName的消息存在,中间的Bean定义才会进行。
<o:p> </o:p>
<o:p> </o:p>
在优快云上提问,得到了getAttribute的替代方法,其实很简单,很简单。。。例如:
<bean:define id="bean_id" name="attribute_name" scope="request"/><o:p></o:p>
这样,相当于声明了Object bean_id = request.getAttribute(“attribute_name”);
改了几个数据库操作的地方。发现preparedStatement比较适合在参数数不怎么变化的时候用。而最通常的Statement,在参数数很可能会变(比如多条件搜索)时,就比前者方便很多了。
在Oracle中,用PreparedStatment,设置参数时,要设某个域为空似乎有点麻烦。。。其实加入判断,当值为null或者“”时,只要使用setNull就可以了。
<o:p> </o:p>
另外发现,在JSP里,当某个域(如Text域)被标记为:diabled=”true”时,提交时它的值似乎就无法取到。必须与<html:hidden>配合使用。
<o:p> </o:p>
接下来使用DispatchAction作左边框的跳转链接。过程中发现,在struts-config.xml中配置的ActionMapping,如果要在链接地址里用,比如加.do,比如:
<html:link page="/dispatch.do?direction=emp"><bean:message key="mainpage.sidebar.emp"/></html:link><o:p></o:p>
而在<html:form>的action里,这个.do加不加都可以。。。。
<o:p> </o:p>
在Struts的JSP页面中,如果有标签重叠(嵌套,比如某个标签的value用<bean:write>来赋值)是不行的。只有用<%= %>什么的了
用Filter作安全验证。
主要是doFilter函数。即如果检查失败,那么就用sendRedirect转到登陆页面。如果成功,就用filterChain.doFilter(request, response);将请求发送到下一个过滤器。其中碰到了一个死循环的问题。问题不大,不过需要注意的是,在用sendRedirect发送到下个页面的时候,Filter也会起作用。所以如果sendRedirect的目标和过滤内容发生问题,就会有死循环。
测试各个模块时发现,首先,将有类似属性的Bean整合在一起确实不是好事。初期没有发觉,到后来,会牵涉到很多问题。(耦合+)
另外,为了系统效率,将一个Session用在很多地方也不可取。在可调试性上出现了很多问题;而且,会有意想不到的问题。 特别是Session里同一个Key对应的内容类型不一样时。。。。
<o:p> </o:p>
在系统测试时,必须测试用户可能采取的多种操作。比如,某些动作,做了一半,用户按“Back”按钮,系统会不会出问题。。。。
<o:p></o:p>
本文介绍了使用Struts框架及前端JavaScript进行页面元素显示隐藏的方法,探讨了如何在ActionForm中设置默认值,并深入讨论了Struts Bean标签的使用,同时涉及了Java中对象创建与类设计模式等内容。

被折叠的 条评论
为什么被折叠?



