顯示具有 STRUTS2 標籤的文章。 顯示所有文章
顯示具有 STRUTS2 標籤的文章。 顯示所有文章

2015年1月23日

< s:if 判斷是否包含字串

是否contain某個字串 不是用contain

AAA和BBB都是參數

<s:if test="%{#AAA.indexOf(#BBB)>=0}">
AAA裡有BBB
</s:if>  

2014年5月8日

< s:radio 能換行的小撇步

前提後面沒有要接  textfield之類之類的東西

<s:radio name="member.sex"  list="# {'M':'男<br/>', 'F':'女'}" ></s:radio>

2013年11月26日

struts2 tag裡 REPLACE的方法

 <s:set var="test1">AAA</s:set>

 <s:textarea name="testTEXT"   rows="3" cols="50" value='%{#test1.replace("AAA","")}'  "/>


另一寫法種(從bean來的)
<s:property value='member.mom.replace(\"\r\",\"<br>\").replace(\"\n\",\"<br>\").replace(\"<br><br>\",\"<br>\")'  escape="false"/>

2013年11月14日

struts2 tag裡用split

<s:property value="member.anss.split(',').length"/><br/>


<s:iterator value="member.anss.split(',')" status="st" var="ans">
<s:property value="#st.index"/>-<s:property value="#ans"/><br/>
</s:iterator>

2013年10月25日

利用jquery submit form

如果有一個form
<s:form action="Member/insert"   theme="simple"  >
.
.
.

</s:form>

利用jquery去submit的話 一般只要這樣寫:

$( "#Member_insert" ).submit();


但如果是要指定別的action (insertVIP):

$( "#Member_insert" ).attr("action", "insertVIP.do").submit();


如果method後面有要帶參數也可以:

$( "#Member_insert" ).attr("action", "insertVIP.do?dept=A1&code=XYZ").submit();

s:submit

若要button按下去 和form 執行不同的method

屬性多寫action


 <s:submit value="另一個動作"  action="Count/vipSale"/>

2013年10月17日

HTML5 的新屬性:Placeholder

網頁表單的文字方塊 有時會有看到預設的說明文字 像這樣:


輸入時 字會自動消失

以前的方式是要用js 

語法差不多會是

<input name="user_name" type="text" size="28" id="user_name" value="Email" onfocus="if(this.value=='Email'){this.value='';}" onblur="if(this.value==''){this.value='Email';}">


2013年9月18日

< s:property value 也可以有substring

 <s:property value='memo.memono.substring(5,8)'/>


注意要用單引號(')

以此類推也可以用在 <s:select 的default value

 <s:select name="noticeType"  list="# {'aaa':'第a種', 'bbb':'第b種', 'ccc':'第c種', 'ddd':'第d種'}"  value='memo.memono.substring(5,8)'/>

2013年9月13日

< s:hidden

一般的複雜寫法(值是request來):
<s:hidden  name="person.name" value="%{#request['personName']}" />


如果還要是時間格式...
<input type="hidden" value="<s:date name="%{#request['personBD']}" format="%{format.datetime}" />" name="person.bd"/>

2013年7月29日

>>> FilterDispatcher <<< is deprecated! Please use the new filters

最近struts2發生了問題 照官方解法換了jar檔們 但換完後跑出下面訊息 *********************************************************************** * WARNING!!! * * * * >>> FilterDispatcher <<< is deprecated! Please use the new filters! * * * * This can be a source of unpredictable problems! * * * * Please refer to the docs for more details! * * http://struts.apache.org/2.x/docs/webxml.html * * * *********************************************************************** 原來是有一個filter 繼承了FilterDispatcher google到解法是換成 繼成 StrutsPrepareAndExecuteFilter 即可 但目前換完後 還沒測試出是否有影響原功能(照理來說應該是不會....)

2013年7月9日

< s:if 如果要判斷單一中文字

平常寫 <s:if 的 test 會很直覺得寫

 <s:if test="record.id==1">ID是一!!!</s:if>

但  如果要判斷的是單字的中文字.....

<s:if test="record.confirm=='是'">ID確定!!</s:if>

他不會有反應==

要寫:
<s:if test='record.confirm=="是"'>ID確定!!</s:if>

有看出差別嗎


一個是 「"''"」 一個是「'""'」  

前著是雙引號包單引號 後面是 單引號包雙引號

每次都會忘記  然後又會花很久的時間才想起....希望這次可以記得久一點

2013年7月5日

< s:date

基本寫法:

<s:date name= "time" format="yyyy/MM/dd"/>

如果要用設定檔裡寫的格式 要先set

<s:set name="format.datetime"><s:text name="format.datetime"/></s:set>

<s:date name= "time" format="%{format.datetime}"/>



<s:date name= "%{time}" format="%{format.datetime}"/>

2013年6月26日

< s:iterator

如果要跑回圈的資料來源是一個list包著map

需要多一層<s:iterator

範例:
<s:iterator value="#request['immaplist']" status="stat">
  <s:iterator>
   <s:property value="#stat.index"/>
    <s:property value="key"/>
    <s:property value="value"/>
  </s:iterator>
 </s:iterator>

2013年6月20日

< s:fielderror 五四三

標準寫法(我最常用的):
<s:fielderror theme="myThem" cssClass="error-message" fieldName="email" />

 cssClass="error-message" ←←自己設的css

忘了為了什麼目的的寫法:
<s:fielderror  cssClass="error-message"><s:param>email</s:param> </s:fielderror>

無效寫法:
<s:fielderror value="startYear.val" />


判斷是不是有fielderror:
<s:if test="hasFieldErrors()">  有錯誤訊息!!</s:if>


2013年6月5日

@SkipValidation

@SkipValidation用來放在不要驗證的方法前

用javascript驗證

<!--用javascript驗證 >
 <s:if test="hasFieldErrors()">
  <script language="JavaScript">
   var msg = 'xxxxx';
   alert(msg);
  </script>
 </s:if>
<用javascript驗證  -->

< s:fielderror

直覺上可能會寫成:

<s:fielderror value="startYear.val" />

但這樣是無效的

有效寫法是:
<s:fielderror  cssClass="error-message"><s:param>startYear</s:param> </s:fielderror>

@InputConfig

@InputConfig(methodName="inputMethod", resultName="someInputResultName") methodName 

resultName 可分開用
methodName:指定要去run哪一個method
resultName:對應struts裡的result

同時都有 會以methodName為主

< s: TAG裡 的theme

theme=xhtml時:會默認額外生成tr,td。
them=simple時:就生成標籤所對應的html標籤形式。