JBoss-IDE 1.2.2 簡介 (Struts) 3

类别:Java 点击:0 评论:0 推荐:

JBoss-IDE 1.2.2 簡介 (Struts) 3:

 

步驟:

6. 接著我們要在 project 的配置文檔中加上 Struts 的配置, 因為這不是跟 XDoclet 的設定, 所以我們要人手做一次, 不過還好只需一次. 首先我們將爆開 ‘struts-validator.war’ 後的資料夾裏 \WEB-INF\ 的所有檔案, (除了入面的資料夾, ‘web.xml’, ‘validation.xml’ 和 ‘struts-config.xml’), 全部複製在 tutorial\src\WEB-INF\ 的資料夾裏. 再要在 tutorial\src\WEB-INF\ 裏新增四個 xml 檔案, ‘servlets.xml ‘, ‘servlet-mappings.xml’, ‘taglibs.xml’ 和 ‘struts-plugins.xml’:

l          servlets.xml 文檔內容如下:

  <servlet>

    <servlet-name>action</servlet-name>

    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

    <init-param>

      <param-name>config</param-name>

      <param-value>/WEB-INF/struts-config.xml</param-value>

    </init-param>

    <load-on-startup>2</load-on-startup>

  </servlet>

l          servlet-mapping.xml 文檔內容如下:

  <servlet-mapping>

    <servlet-name>action</servlet-name>

    <url-pattern>*.do</url-pattern>

  </servlet-mapping>

l          taglibs.xml 文檔內容如下

  <taglib>

    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>

    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>

  </taglib>

 

  <taglib>

    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>

    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>

  </taglib>

 

  <taglib>

    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>

    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>

  </taglib>

l          struts-plugins.xml 文檔內容如下

  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">

    <set-property

property="pathnames" value="/WEB-INF/validator-rules.xml,

        /WEB-INF/validation.xml"/>

  </plug-in>

跟著要在 JBoss-IDE 中加上 XDoclet 的設定, 右擊 tutorial project -> ‘Properties’ -> ‘XDoclet Configurations’ 中選 ‘mergeDir’ = ‘src/WEB-INF’, 再在 ‘XDoclet Configurations’ -> ‘Web’ -> ‘webdoclet’, 右擊 ‘Add’ -> ‘strutsconfigxml’ (選 version=1.1), 再 Add ‘strutsvalidationxml’ (不用選任何選項), 再 Add ‘fileset’, 選 ‘dir’ = ‘src’, 選 ‘includes’ = ‘**/*Form.java’, 再 Add ‘fileset’, 選 ‘dir’ = ‘src’, 選 ‘includes’ = ‘**/*Action.java’, 如下圖:

 

7 做完以上痛苦的步驟之後, 可以 run XDoclet 了, 右擊 tutorial project -> ‘Run XDoclet’, 如成功運行後可看到 ‘web.xml’ 裏有 ‘servlets.xml’, ‘taglibs.xml’ 和 ‘servlet-mappings.xml’ 的資料, 而 ‘struts-config.xml’ 裏有 ‘ComputeForm’, ‘ComputeAction’ 和 ‘struts-plugins.xml’ 的資料, 還會新增一個 ‘validation.xml’ 文檔, 這就証明是成功了!

 

8  現在是新增 ‘index.jsp’ 的時候了, 在 ‘docroot’ 下新增 ‘index.jsp’ 文檔, 詳細內容如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

 

<html><head><title>Fibonacci Application</title></head>

<body>

<h1>Fibonacci Form</h1>

<html:form action="computeFibo">

 

<table cellspacing="2" cellpadding="2" border="0">

<tr><td>Limit :</td>

<td><html:text property="num" size="5" maxlength="2"/></td>

</tr>

<tr>

<td><html:submit property="submit"/></td>

<td><html:reset/></td>

</tr>

</table>

</html:form>

</body>

</html>

為了簡化程式, 我沒有顯示輸入錯誤的訊息, 當輸入出錯時(沒有輸入或輸入的不是數字), 程式只會再回到 index.jsp.

 

9        現在我們可以試試運行了, 先 build project -> run XDcolet -> run Packaging -> Deploy ‘FiboApp.ear’ to JBoss, 在 browser 輸入 ‘http://127.0.0.1:8080/fibo/index.jsp’, 再輸入 ‘15’, 便可看到以下結果, 和 JBoss-IDE 教程裏的例子是一樣的, 不過裏面已用了 Struts 的功能.

 

後記:

這個例子花了我差不多兩天的時間, 當中有時候 XDoclet 會產生不到 struts-config.xml 裏的 form bean 配置資料, 後來要刪除 struts-config.xml 再行一次 XDoclet 才解決問題. 而當我行多幾次 XDoclet 時, eclipse 會出現 memory 不夠的警告, 因為 JBoss-IDE 同時行了 eclipse 和 JBoss, 處理期間不是太穩定, 不知道 eclipse 3.0 有沒有改善. 好了, 下次有時間我會寫寫如何在 JBoss-IDE 裏用 Hibernate, 或可能翻譯一些 JBoss-IDE 文檔. 最後, 本篇篇幅長了小小, 可能有很多地方出錯或遺漏, 希望大家可以指正及多給意見, 謝謝!

 

參考資料:

http://www.jboss.org

本文地址:http://com.8s8s.com/it/it16799.htm