2009年10月23日 星期五

[Struts2]<s:actionmessage/>

最近用了<s:actionmessage/>來做訊息的傳遞
使用上也相當簡單

java code
addActionMessage("success");

jsp code
<s:if test="hasActionMessages()">
<s:iterator value="actionMessages">
<script language="JavaScript">
alert("<s:property escape="false"/>");
</script>
</s:iterator>
</s:if>

或是直接透過tag輸出
<s:actionmessage/>

因為<s:actionmessage/>是由ul,li組成的
所以在顯示的字前面會有一個點(dot)
可以自定義template
或是修改ul,li的css屬性
加入list-style:none
來修正這個問題

2009年10月11日 星期日

[Struts2]一次產生多個textfield

java
private String threeTextfield[]={"","",""};

public String[] getThreeTextfield() {
return threeTextfield;
}

public void setThreeTextfield(String[] threeTextfield) {
this.threeTextfield = threeTextfield;
}
jsp
<s:iterator value="threeTextfield" status="rowstatus" id="id">
<tr>
<td><s:textfield name="threeTextfield" value="%{id}" /></td>
</tr>
</s:iterator>

透過這樣的方式
優點是jsp的撰寫與後端的接收都快了不少
缺點是無法指定textfield的個數

2009年10月9日 星期五

[CSS]避免表格因過長字串撐開

如果<td>裡是一長串連續的英文字
表格可能因此撐開變形

解決的方法是
table layout固定住
table {
  table-layout: fixed;
}

td加入word-wrap:break-word 屬性來強制換行
td {
word-wrap:break-word;
}