2012年9月6日 星期四

【jQuery】Ajax to Servlet

這裡介紹一下在jQuery用Ajax發出 Request到後端的 Servlet 時

遇到關於Cross domain 的問題,以下放一些之前做介紹內容


jQuery Ajax

參考(必讀)http://api.jquery.com/jQuery.ajax/ 
常用的setting屬性:
  contentType
 data 
 dataType
 error(jqXHR, textStatus, errorThrown)
 success(data, textStatus, jqXHR)


2012年9月5日 星期三

Struts 教學 - validwhen 介紹

Validwhen 是 Struts Validations 中的一個 validation rules

從Struts 1.2之後開始支援,其內容最主要的目的是

在我們驗證目前Field的值的時候,可能要從其他Field的值綜合起來進行判斷

譬如,我要驗證當購買數量的欄位值不為空的時候 那麼到貨日期也不能為空

首先 要使用 Validwhen 的話記得要放入 antlr.jar 檔

否則當 Struts 在進行驗證的時候會拋出如下的錯誤訊息

java.lang.noclassdeffounderror antlr/ token stream

以下貼出一段範例解說


<field property="emailAddress" depends="validwhen">
      <arg0 key="userinfo.emailAddress.label"/>
        <var>
          <var-name>test</var-name>
          <var-value>((sendNewsletter == null) or (*this* != null))</var-value>
        </var>
 </field>


2012年9月2日 星期日

Struts 教學 - html:checkbox

最近剛好遇到 在 Struts 中使用 html tag 的 checkbox element

在 Struts 中 CheckBox 的寫法如下


<html:checkbox styleId="hasInsuranceCHbox" name="insuranceVO" 
               property="hasInsurance" value="Y"
               onclick="javascript: checkHasInsurance ();"></html:checkbox>


跟其他 Struts 的 html tag 一樣

styleId 會辦替換為 HTML 標籤的 id

而 name 則是可以為一個Struts from bean 或是一個 requestScope 的屬性

其中 如果我們要讓這個Check box 能夠隨著 name 屬性所設定的物件

的hasInsurance這個attribute值被打勾或不打勾的話

可以透過 html:checkbox 的 value 屬性去設定,要注意的是

如果不設定的話 default 的值為 "on"  ((( 表示當 hasInsurance 為 on 才會被打勾

所以這裡依據你的需求去定義 value 值吧!!

另外 如果要對 html:checkbox 實作 javascript 的onclick的話

那麼 html:checkbox 也有提供 onclick 的屬性喔!



2012年9月1日 星期六

【Javascript】alert 亂碼

最近遇到一個情況 雖然頁面(JSP)的編碼

已經是 UTF-8 了,都已經有下列的宣告標籤


<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
....
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

可是 alert 一直都是亂碼,雖然alert 的文字是從Servlet來的

但是Servlet 在 log 的時候是正常中文的,

而且 response (HttpServletResponse)也有編碼過,但是在實際run的時候一就是亂碼

最後才發現  這也有可能跟 Eclipse 有關 (不知道是不是我的版本太舊?)

提供以下更換Eclipse javascrip 編碼的方式

Eclipse > Window > Preferences > 左邊選擇 General 中的 Content type

並在右邊的隊應畫面中 Text(展開) > Javascript source file 下方的 default encoding 輸入 utf-8