JBuilder开发Struts应用

  一、JBuilder 对于 Struts 之支持

  JBuilder 提供图形使用者接口以简化组件文件 struts-config.xml 之编辑与设定,此外,JBuilder 于 Object Gallery对话框内的 Web 页次,提供四种精灵以简化 Struts 开发流程。




   (1)Struts Converter Wizard:

  可指定 HTML 或一般 JSP 档案自动产生使用 Struts Tag Libraries 之 JSP 档案。

   (2)ActionForm Wizard:

  可导入JSP 档案产生继承自 ActionForm 之类,或自定义属性 ( property ) 产生继承自ActionForm 之类,类产生后可选择是否自动完成 struts-config.xml 对应设定。

   (3)Action Wizard:

  可产生继承自 Action 之类,设定搭配之 JSP 档案、有效范围 ( scope ) 并自动完成struts-config.xml 对应设定。

   (4)JSP from ActionForm Wizard:

  可由指定之 ActionForm 自动产生使用 Struts Tag Libraries之 JSP 档案。

  除了上述精灵外,JBuilder 可协助开发人员自动设定web.xml 部署描述档,以便 JSP 使用Struts 自定义 Tag Libraries 。

  
二、使用Jbuilder开发struts实例

  我们在这里举开发一个简易的 Web 应用程序的例子来帮助大家了解Struts Framework。此 Web 应用程序允许使用者输入两独立字符串,并将两字符串连接后显示于网页。由于处理逻辑过于简单,此实例中我们打算直接在扮演 Controller角色的 Action 中完成两字符串连接动作,因此未使用扮演 Model 角色之
JavaBean 或类来处理字符串连接。

    步骤一: 添加Struts 1.1 类库
  
    (1)将Struts 1.1 下载到 JBuilder的extras目录中。如果没有,去baidu搜索一下,没有1.1没法开发。

    (2)从菜单的Tool -> Configure Librarys 开始添加库


      (3)修改库的名字为Struts1.1, Location为 Jbuilder

 

     (4)讲Struts的lib目录下面的包全部添加到库目录中

     (5)按确定后的样子

  (6)在选择Framework,选择其为Struts,按OK后就配置好Struts 1.1 的库了。




  
步骤二: 建立 Web 应用程序

  首先点击选择 JBuilder 集成开发环境主菜单 File | New Project… 建立一个名为myTest 之项目。

  

   接着由菜单File | New… 激活Object Gallery 对话框,并点击选择Web 页次中的 Web Application 精灵准备建立 Web 应用程序。



  Web Application 精灵会为此 Web 应用程序准备妥产生WAR 所需之部署描述档 web.xml,WAR 是 J2EE 规格中用以简化 Web 程序部署复杂度之标准档案格式。我们为此 Web 应用程序命名为 demo,往后将会在编译此项目档时产生名为 demo.war 档案以便于部署,在此 Web 应用程序中由于将会用到 Struts 之 Tag Libraries,因此在JSP/Servlet frameworks 中勾选Struts 1.1(是在第一步添加的类库Struts 1.1,而不是自带的1.0),同时JBuilder 会自动设定妥 web.xml。

  
步骤三 : 建立自定义之用户界面

  自定义的用户界面可以用两种方式开发:(1)先创建ActionForm,再从ActionForm生成Jsp。(2)先创建Jsp,再从Jsp生成ActionForm。
   
    由于未准备妥可输入两字符串之 HTML 或JSP,因此先建立储存信息之 ActionForm 类,再产生扮演 Controller 角色之 Action 类,最后再由 ActionForm类产生 JSP 档案。点击选择Object Gallery 对话框 Web 页次中 ActionFormWizard 可产生自定义之 ActionForm 类,ActionFormWizard 又可分为三步:第一步精灵自动侦测出之前已建妥之 Web 应用程序demo,我们将自定义 ActionForm 名称由预设 Untitled1ActionForm 修改为 MyActionForm,接着按下 Next 按钮进入第二步。第二步依照需求将未来 JSP 页面上所需显示与输入的字段加入 Field definition 清单方块中,倘若负责网页美工专职人员已备妥输入用JSP 网页,亦可按下 Add from JSP… 按钮直接导入,JBuilder 将解析此 JSP 档案产生Field definition 表格。本例中由于未准备输入之 JSP 档案,因此必须自行加入所需之字段。我们为此 Web 应用程序预先准备三个字段,str1 与 str2 可储存输入之字符串,result 可置放两字符串连接后结果。设定完成后按下 Next 按钮进入第三步后根据默认设置按Finish。







   
接下来我们将利用现有 MyActionForm.java 产生/MyJsp1.jsp,点击选择Object Gallery 对话框 Web 页次中JSP from ActionForm Wizard,将出现以三步产生 JSP 之精灵。

    


    修改jsp名字,同时选择ActionForm Class,选择好后,按OK就产生了一个JSP文件。
  

  
 


  步骤四 : 建立自定义之 Action 类

  点击选择Object Gallery 对话框 Web 页次中 Action Wizard可产生自定义之 Action 类,Action Wizard 分为两步:第一步精灵自动侦测出之前已建立之 Web 应用程序demo 与 struts-config.xml 组件档,我们将自定义 Action 名称由预设 Untitled1Action 修改为 MyAction,接着按下Next 按钮进入第二步。





  在第二步对话框中,我们可以设定 MyAction 的 perform 方法会传入哪一个 ActionForm,在FormBean Name 组合方块中,所有记录于 struts-config.xml 中的 ActionForm 都会列出以供选用,此外我们设定 myAction 之有效范围( Scope ) 为 request。



  按下 Finish 按钮后即产生 myAction.java 档案。在myAction.java 中,JBuilder 已经自动产生了 perform 方法与尚未实现之例外程序代码。但是我们用的是Struts 1.1,所以需要删除这个方法,重新生成一个execute的方法。打开菜单 Wizards  -> Override Methods ,从打开的对话框里面,选出execute(ActionMapping……)这个方法,按OK按钮。



 按如下修改execute代码:
 
 
 public class MyAction extends Action {
   public ActionForward execute(ActionMapping parm1, ActionForm parm2,
          HttpServletRequest parm3, HttpServletResponse     parm4) throws java.lang.Exception {
       MyActionForm myActionForm=(MyActionForm)parm2 ;
       String sA = myActionForm.getStr1 ( ) ;
       String sB = myActionForm.getStr2 ( ) ;
       myActionForm.setResult (sA+sB) ;
       System.out.println("HelloAction.do executing..........");
       return ( parm1.findForward ( "hello" ) ) ;
   }
}
 



 
 步骤五 : 修改struts-config.xml文件和MyJsp1.jsp

  从现在开始,基本进入手动修改状态。点击选择 JBuilder 左上方之项目窗格 ( Project Pane ) 内之struts-config.xml,此时集成开发环境便可以图形使用者接口方式编辑 struts-config.xml 内容,左下方结构窗格( Structure Pane ) 会依照 struts-config.xml 结构,分为 DataSources 、Form Beans、Global Forwards 与 Action Mappings四类标记项目。

  


   
    选择Global Forwards,添加一个选项,Name: hello   Path:/Myjsp1.jsp
 
    单击右下角的Source,修改xml的源代码。修改第2行中的Struts版本号为1.1。具体的xml文件如下:

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="myActionForm" type="mytest.MyActionForm" />
</form-beans>
<global-forwards>
<forward name="hello" path="/MyJsp1.jsp" />
</global-forwards>
<action-mappings>
<action name="myActionForm" type="mytest.MyAction" input="/MyJsp1.jsp" scope="request" path="/MyAction1" />
</action-mappings>
</struts-config>
 
  

    该XML将为Action类做一个映射,如上用蓝色标明的部分,以后通过 "/MyAction1" 就可以访问 mytest.MyAction这个类。

    在MyJsp1.jsp文件的form的action中,使用这个标签。将Form的处理页设置为该类  <html:form action="MyAction.do" method="POST"> ,并且确定在jsp文件中,属性控件str1、str2和result的顺序是 str1,str2,result。

  

 
 步骤六 : 设定执行组件

  单击工具栏中的 Run Configurationg ,将弹出Run的设置菜单。

   


 

   将Type设置为Server,并且选择JSP/Server中的Jsp为MyJsp1.jsp。

  此时执行组件属性设定对话框中主要项目皆已设定完毕,按下 OK 按钮返回项目属性设定对话框。项目属性对话框中将把前述步骤所设定之执行组件列于Runtime Configurations 清单方块中,按下 OK 按钮即完成执行组件设定。

 
 步骤七 : 执行 Web 应用程序

  接下来可点击选择 JBuilder 菜单 Run 或工具列中绿色三角形符号执行此 Web 应用程序。JBuilder 将于集成开发环境内激活 Tomcat 4.0 Server,我们可以通过 JBuilder 内置之 Web 浏览器进行测试。在 Web 浏览器中我们键入 AAA 与 BBB 按下 Submit 按钮,得到预期之运算结果AAABBB。




 

   步骤八:设置使之能识别中文文字

  处理方法是:

    (1)在 JSP 起始处加上:

<%@ page contentType="text/html; charset=MS950" %>  对于繁体中文

<%@ page contentType="text/html; charset=GB2312" %>   对于简体中文(常用编码为GB2312)


    (2)创建一个Serverlet类处理接收字体的编码

  首先,点击选择 JBuilder 主菜单 File | New Classes 准备产生一新的类。并继承自org.apache.struts.action.ActionServlet并将预设的类名称由Untitled1 改为 myActionServlet。按下 OK 按钮后即产生程序代码。点击选择 JBuilder 主菜单Wizards | Override Methods… 激活覆盖方法精灵,覆盖方法精灵会自动列出父类 ActionServlet 所有可供覆盖之方法。我们可于 Available methods 清单方块中选取process (HttpServletRequest request, HttpServletResponse response) 方法,完成后按下 OK 按钮。


    此时我们可修改覆盖后 process 方法程序代码如下:

 request.setCharacterEncoding ("MS950") ;
super.process (request, response) ;
request.setCharacterEncoding ("GB2312") ;
super.process (request, response) ;
 
 //繁体中文//简体中文 

    接下来我们将要修改 web.xml部署描述档,以指定 Servlet 之进入点,首先点击选择左上方项目窗格中的 web.xml。



  点击选择内容窗格内的 Sources 页次,直接以文字编辑器修改<servlet-class> 标记的内容:   <servlet-class>
mytest.myActionServlet</servlet-class>

  完成后重新编译此项目并执行之。再次测试后我们将发现中文已经可以正确处理。

              终于完成了。!!!!!!多提意见啊。。。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值