易截截图软件、单文件、免安装、纯绿色、仅160KB

JUnit学习笔记15 对JSP和taglib进行单元测试2

使用Cactus对taglib进行单元测试 下图描述了使用Cactus对标记库的一个标记进行单元测试的过程。(图片链接) 1.Cactus对象初始化测试类,该类必须派生自JspTestCase类,测试标记时所需要的任何HTTP参数,都需要在beginXXX方法中进行配置。例如,如果某标记从Http参数提取信息,那么你需要在beginXXX方法中定义该参数。 2.在内部,Cactus的JspTestCase类调用Cactus JSP Redirector(本身也是一个JSP)。JSP Redirector负责在服务器端初始化JspTestCase类,传送JSP隐式对象(主要是PageContext对象)给它。然后,再调用testXXX方法。 3.在testXXX方法中,编写代码对JSP标记进行单元测试。测试一个标记的典型步骤为:用new 对象初始化该标记,调用setPageContext,来设置PageContext,调用测试方法进行测试,然后执行服务端的断言。例如,如果该标记在HTTP段中设置了一些对象,你就可以断言在那里。 4.Cactus JSP Redirector将标记的输出通过HTTP响应返回到客户端。然后在JspTestCase类编写一个endXXX方法来断言标记的输出。Cactus提供了同HttpUnit的紧密集成,它将允许你对返回的标记内容定义精确的断言。 定义自定义标记 在结果视图中,我们使用的第一个标记类将是DynaPropertiesTag。这个标记从DynaBean对象中取出所用的属性放到一个数组里。这些属性都是DynaProperty的对象,存放在PageContext中的一个连接到标记的目录下。下面是该标记的用法:
其中properties表示DynaProperty对象数组的变量名,dynaBean是用来获取属性信息的DynaBean实例。
DynaProoertiesTag如下:
package junitbook.pages;
import org.apache.commons.beanutils.DynaBean;
import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspException;
public class DynaPropertiesTag extends TagSupport
{
private String varName;
private String item;
public void setVar(String varName)
{
this.varName = varName;
}
public String getVar()
{
return this.varName;
}
public void setItem(String item)
{
this.item = item;
}
public String getItem()
{
return this.item;
}
public int doStartTag() throws JspException
{


相关文档:

windows2003下JSP的数据库连接

我的jsp编程环境也是最近才搭建起来的,用的是windows2003+ecplise+tomcat+lomboz+sql Server 2000,搭建的过程中吃了不少的苦头,在搭建的过程中总结了一些经验,对于jsp搭建在网上有不少的介绍,搭建起来比较容易,下面主要介绍在jsp搭建起来后连接数据库要注意的地方:
(1)数据库的版本选择要正确,选择的版本和 ......

建立自已JSP的web目录

建立自已的web目录
可以将JSP页面程序部署在Tomcat服务器的默认web目录下,也可以部署在自已创建的web目录下。下面是创建web目录的步骤:
1).在服务器上创建自已的目录
  如,创建一目录: E:\test\10 
2).配置web目录
       用记事本打开 \Tomcat 5.0\conf目录下的文件s ......

利用jsp上传excel

一、上传
引入包:org.apache.commons.fileupload.*
jsp代码: DiskFileUpload fu = new DiskFileUpload();
      List list = fu.parseRequest(request);
      if(list != null){
       System.out.println(list.size());
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号