`
dr2tr
  • 浏览: 142289 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一个小型Struts系统开发过程中的小技巧

阅读更多

使用JavaScript进行页面某部分显示/隐藏操作的方法:

document.all.某部分的id.style.display=none(隐藏)或者block(显示)

设定Text域默认值的方法,只需要在ActionForm中,在相应的field声明时赋上默认值就可以了。比如:private String userName = “default name”;

<o:p> </o:p>

StrutsBean标签中,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>

CSDN上提问,得到了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>

分享到:
评论

相关推荐

    MyEclipse开发struts视屏

    10. **最佳实践**:分享在使用MyEclipse和Struts开发过程中的一些最佳实践和技巧,如代码组织、性能优化等。 这个视频教程应该会深入浅出地引导学习者了解并掌握使用MyEclipse进行Struts应用开发的基本技能,对于想...

    Struts开发入门与项目实践1

    标题"Struts开发入门与项目实践1"表明这是一个针对初学者的教程,旨在帮助他们理解Struts1的基本概念和实践应用。这可能包括创建一个简单的Struts1项目,设置项目结构,配置Action类,以及处理用户请求和响应。 ...

    struts2留存小demo

    这个“struts2留存小demo”是开发者为了巩固和复习Struts2框架知识而创建的一个小型示例项目。在实际开发中,通过反复实践和练习,可以更好地理解和掌握Struts2的核心概念和使用技巧。 首先,我们来了解一下Struts2...

    struts2+mysql的简单个人信息管理系统,包含文档

    Struts2是一个强大的MVC(模型-视图-控制器)框架,它在Java Web开发中广泛应用,用于构建高效、可维护的Web应用程序。MySQL则是一款流行的开源关系型数据库管理系统,以其小巧、快速、稳定和易用的特点,在中小型...

    原创struts2讲义2.pdf

    OGNL标签是Struts2标签库中的一个重要组成部分,它们允许开发者在JSP页面中直接使用OGNL表达式进行数据访问和处理。 ##### 5.3 功能性标签详解 除了OGNL标签外,Struts2还提供了许多功能性标签,如append、...

    北大青鸟struts学生教学课件

    9. **实战项目**:可能通过一个实际的小型项目,演示如何从零开始搭建一个Struts应用程序,涵盖需求分析、设计、编码到测试的全过程。 10. **最佳实践**:给出一些在使用Struts时的建议和技巧,如优化性能、提高...

    精通Struts:基于MVC的Java Web设计与开发(下).pdf

    在《精通Struts:基于MVC的Java Web设计与开发》这本书中,作者孙卫琴深入浅出地介绍了Struts框架的基础知识及高级应用技巧。本书共分为两卷,上卷主要讲解了Struts框架的基本概念、工作原理及其核心组件等;而下卷...

    struts2_spring

    描述中的"struts2_spring的一个小程序"可能是指一个小型的示例应用,用于演示如何在实际开发中整合这两个框架。这样的小程序通常会包含必要的配置文件(如struts.xml和spring配置文件),以及Action类、控制器、模型...

    Struts2实例5

    拦截器是Struts2中的一个重要概念,它们可以插入到Action调用链中,执行预处理和后处理任务,如日志记录、权限验证、数据校验等。开发者可以通过自定义Interceptor实现特定功能,并在struts.xml中配置拦截器栈。 4...

    struts2第一源代码及说明

    4. **Value Stack**:Struts2中的值栈是一个对象容器,用于存储Action和ActionForm的属性,以及ActionContext中的上下文信息。视图层可以直接访问值栈中的对象来显示数据。 5. **OGNL (Object-Graph Navigation ...

    Spring + Struts +Hibernate+Oracle 教程有文档及源码

    7. **实战项目**:通过一个实际的小型项目,如学生管理系统,来展示SSH+Oracle的完整开发流程,包括需求分析、设计模型、数据库建表、编写代码、单元测试和部署运行。 8. **优化与最佳实践**:介绍性能优化技巧,如...

    struts架构的指导及小例子-2.doc

    Struts是一个开源的MVC(Model-View-Controller)框架,用于简化基于Java的Web应用程序开发。它通过清晰地分离控制逻辑、业务逻辑和表示层,为开发者提供了一个灵活且可扩展的架构。 #### 二、Struts压缩包内容 ...

    wincvs、ajaxanywhere+struts示例+easyjweb指南

    **EasyJWeb**则是一个轻量级的Java Web开发框架,它的设计目标是简化Java Web应用的开发过程,提高开发效率。EasyJWeb通过提供简单的API和约定优于配置的方式,让开发者可以快速构建Web服务。它特别适合于小型到中型...

    一个小例子有助于帮我们了解开发

    标题中的“一个小例子有助于帮我们了解开发”暗示我们将探讨一个具体的编程示例,可能是通过一个小型项目或功能来展示开发过程。描述进一步说明了这个例子涉及用户注册功能,旨在帮助我们理解开发流程,并允许用户...

    企业订销管理系统(源码+开发部署文档)

    本资源提供的“企业订销管理系统”是一款基于J2EE技术的开源项目,它包含了完整的源码以及详细的开发部署文档,旨在帮助开发者深入理解和实践Java Struts框架在企业级应用中的运用。 1. **J2EE技术基础**: J2EE,...

    基于Struts+Hibernate+Spring的Web_应用开发

    - **核心概念**:虽然Hibernate推荐每个表对应一个对象,并且将映射文件和对象文件分开存放,但在小型项目中,为了简化管理和减少冲突,可以将多个表的映射信息整合到一个或少数几个`.hbm.xml`文件中。 - **实现...

    struts2学习笔记

    - **多实例机制**:Struts2中的Action是多实例的,这意味着每次用户请求时都会创建一个新的Action实例,有效避免了状态污染的问题。 - **拦截器机制**:Struts2引入了强大的拦截器机制,能够进行事务管理、权限控制...

    struts2--权威指南

    Struts2是Java Web开发中一个非常重要的MVC框架,由Apache软件基金会维护。它以其灵活性、可扩展性和强大的功能而备受开发者喜爱。《Struts2权威指南》这本书无疑是深入理解Struts2框架的绝佳资源,它不仅涵盖了...

Global site tag (gtag.js) - Google Analytics