目前分類:JAVA - Struts2 (16)

瀏覽方式: 標題列表 簡短摘要

使用 EasyUI 的 Datagrid 選擇到一筆記錄後,將這一筆完整的資料要送到後端 Java 接收,可以先轉換成 JSON 的格式再後送。

UI 的圖示如下,可以用 FireBug 去查看 JavaScript 裡的資料

datagrid

 

作法如下:

文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

上次介紹 Spring Quartz Job Schedule Simple Example 工作排程器 ,現在再來使用 Spring 原生的 Task Execution and Scheduling,首先來瞭解一下 @Scheduled annotation 的意思

This annotation is used for task scheduling. The trigger information needs to be provided along with this annotation. You can use the properties fixedDelay/fixedRate/cron to provide the triggering information.

1. fixedRate: makes Spring run the task on periodic intervals even if the last invocation may be still running. 固定時間執行,不管上一次是否結束
2. fixedDelay: specifically controls the next execution time when the last execution finishes. 上一次執行結束後,再依設定的固定時間執行

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

Struts 2 Customize Theme & Freemarker Template 客制佈景與模板 說明了Struts2 的 tags 是可以自行客制成自已想要的佈景,現在來說明如何使用 FreeMarker 來制作 Struts2 屬於自已建作的 tag libs.

工具:

eclipse : Version: Mars Release (4.5.0) Build id: 20150621-1200

pom.xml:

struts2-core: 2.3.24.1

文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

Struts 2 使用 FreeMarker 來作模板(Template) ,預設的模板是 xhtml (可以解開 struts2-core-2.3.x.x.jar 取得),若要客制佈景(Theme)與模板(Template),需要下列幾個步驟。

預計想要達成的效果有

1. Freemarker Template 中可以使用 Struts 的 tag

2. Customize Theme 客製顏色佈景

 

文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

From: Polin Wei

經實作測試,可以正常運作。故記錄之.....

環境:

struts2: 2.3.16.3

freemarker: 2.3.19

文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

在 Struts2 的異常處理有兩種,一種是程式撰寫的邏輯出錯,另一種是找不到 action Name : There is no Action mapped for namespace...,避免系統出錯的改善作法如下:

 

程式撰寫的邏輯出錯:

在 Struts.xml 內加入

<global-results>
文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

在 freemark 的頁面要嵌入 action 及 參數( Parameters) 有兩種方式

1. 使用 struts2 tag: action

<img width='100px' src='
    <@s.action name="Picout" executeResult="success">  
           <@s.param name="name">${Session.userInfo['PHOTO_PATH']}</@s.param>  
文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

Struts 2 對於 Interceptor 攔截器的基本概念與實作 的瞭解後,我們現在來作一下 Interceptor 在 Struts 2 上的基本運用。

首先建立一個 class : com.test.interceptor.MyInterceptor 並且 implements Interceptor,這個 Interceptor 是個 Interface,所以需要實作三個 method:init()、destroy()、intercept(ActionInvocation invocation),其中只有 intercept(ActionInvocation invocation) 需要回傳一個 String 的值,可以利用  invocation.invoke(); 來讓系統自已跳到預設的下一個 Action method。

 

package com.test.interceptor;
import com.opensymphony.xwork2.ActionInvocation;
文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

Struts 2 支援 POJO 的程式撰寫,所以可以指定 Action Method 來執行您在 struts.xml 中的設定。

<action name="userLogout" method="logout" class="com.gu.EipLogin">
     <result>eip_home.jsp</result>
</action>

 

在 Action Class : com.gu.EipLogin 的程式段

文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

Struts 2 在 struts2-core-2.x.x.jar 的 struts-default.xml 中也設定了許多的 Interceptor 攔截器,Interceptor 攔截器的基本概念大致整理如下:

1. 要有目標對象

2. 攔截器本身,在攔截器本身安插要執行的作業

3. 由 java.lang.reflect.InvocationHandler 來讓 目標對象 與 攔截器 產生關連

4. 由 代理 java.lang.reflect.Proxy 來執行,用來產生動態對象

文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

Struts 2 要與 Spring 結合並不難,因為 Struts 2 本身就已經預留介面,在 struts2-core-2.x.x.jar 裡的 org.apache.struts2.default.properties 有這一段設定

### if specified, the default object factory can be overridden here
### Note: short-hand notation is supported in some cases, such as "spring"
###       Alternatively, you can provide a com.opensymphony.xwork2.ObjectFactory subclass name here
# struts.objectFactory = spring
文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

在這篇文章:Apache 利用 mod_rewrite 做到網址轉換達成SEO優化 說到使用此方法的好處,在 Struts2 中也可以利用 WildcardMappings 來達成 SEO 優化,舉下列例子來說明:

原來:http://localhost:8080/guEBS/guWeb/userChooseLang?lang=chinese

變成:http://localhost:8080/guEBS/guWeb/userChooseLang/chinese

 

Step 1:在 struts.xml 上的設定

文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

Struts 2 仍有多語言的支援,相關的文件可以查看 http://struts.apache.org/release/2.2.x/docs/localization.html ,搜尋的順序是:

  1. ActionClass.properties
  2. Interface.properties (every interface and sub-interface)
  3. BaseClass.properties (all the way to Object.properties)
  4. ModelDriven's model (if implements ModelDriven), for the model object repeat from 1
  5. package.properties (of the directory where class is located and every parent directory all the way to the root directory)
  6. search up the i18n message key hierarchy itself
  7. global resource properties

參考網文 Struts 2 – Resource bundle example 的一張圖可以大致瞭解其搜尋順序

 若 struts.xml 檔內容如下

<?xml version="1.0" encoding="UTF-8" ?>

文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

主要目的:如何在 eclipse 利用 maven 建立 struts2 並在 eclipse internal runtime Server: Tomcat 作開發環境測試

平台:

eclipse:
Version: Kepler Service Release 2
Build id: 20140224-0627

文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

Struts2 的類型轉換方法有分成區域性及全域性兩種,以實例來說明這兩種的差別與設定方法。

實作的過程大致是這樣的:客戶端建立一個 X,Y 字串的輸入input.jsp ,然後經過 struts2 的類型轉換後,再顯示於客戶端 pointConverterResult.jsp

Step 01:建立 struts.xml 檔,內容為

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

Struts 2 的開發環境設定,所需最低的要求為:

1. Servlet API 2.4
2. JSP API 2.0
3. Java 5

可以在 http://struts.apache.org/downloads.html 此下載所需的 Struts 2 所有開發套件,在此使用 Struts 2.3.15.2 ("best available")。

文章標籤

MIS 發表在 痞客邦 PIXNET 留言(0) 人氣()

找更多相關文章與討論