參考http://tmq.iteye.com/blog/286022
<script type="text/javascript">
function changeValidateCode(obj) {
//獲取當前的時間作爲參數,無具體意義
var timenow = new Date().getTime();
//每次請求需要一個不同的參數,否則可能會返回同樣的驗證碼
//這和瀏覽器的緩存機制有關係,也可以把頁面設置爲不緩存,這樣就不用這個參數了。
obj.src="pages/rand
?d="+timenow;
}
</script>
<body>
<s:actionerror/>
<s:form action="login" method="post" namespace="/pages">
<s:textfield name="username" label="用戶名"/>
<s:password name="password" label="密碼"/>
<s:textfield name="vercode" label="驗證碼"/>
<s:submit value="提交"/>
</s:form>
<img src="pages/rand
" οnclick="changeValidateCode(this)">
看不清?點擊刷新
</img>
</body>
<package name="struts2" namespace="/pages" extends="struts-default">
<action name="login" class="action.LoginAction">
<result name="success">/pages/welcome.jsp</result>
<result name="error">/pages/login.jsp</result>
<result name="input">/pages/login.jsp</result>
</action>
<action name="rand
" class="action.RandomAction">
<result type="stream">
<param name="contentType">image/jpeg</param>
<param name="inputName">inputStream</param>
</result>
</action>
</package>