struts.xml配置文件
- <constant name="struts.devMode" value="true"/><!-- 开发模式 -->
- <constant name="struts.action.extension" value="action,,do,webwork"/><!-- 配置後�Y名 -->
- <package name="struts2" namespace="/" extends="struts-default">
- <action name="rand" class="com.umgsai.txyl.util.RandomAction" method="execute">
- <result type="stream">
- <param name="contentType">image/jpeg</param>
- <param name="inputName">inputStream</param>
- </result>
- </action>
- <action name="check" class="com.umgsai.txyl.util.CheckAction">
- <result name="success">/index.jsp</result>
- <result name="input">/login.jsp</result>
- </action>
- </package>
--------------------------------------------------------------------------------------
动态方法调用
第一种方法
- <form action="simple" method="post">
- <input type="hidden" name="method:add"/><!-- 指定要调用的方法,相当于*/simple?method:add -->
- username<input name="username"><br>
- password<input name="assword" type="password"><br/>
- <input type="submit" value="提交"/>
- </form>
struts2.xml
- <action name="simple" class="com.umgsai.test.SimpleAction" >
- <result name="add_input">/add_input.jsp</result>
- <result name="add_success">/add_success.jsp</result>
- <result name="update_input">/update_input.jsp</result>
- <result name="update_success">/update_success.jsp</result>
- </action>
SimpleAction.java
- public class SimpleAction {
- public String addInput(){
- System.out.println("�M入添加");
- return "add_input";
- }
- public String add(){
- System.out.println("执行添加操作");
- return "add_success";
- }
- public String updateInput(){
- System.out.println("进入更新页面");
- return "update_input";
- }
- public String update(){
- System.out.println("执行更新方法");
- return "update_success";
- }
- public String delete(){
- System.out.println("执行删除方法");
- return "delete_success";
- }
- }
执行完毕后跳转到add_success.jsp
第二种方法
http://localhost:8080/structstest/simple!add.action
执行完毕后跳转到add_success.jsp
第三种方法
修改第一种方法中的
- <action name="simple" class="com.umgsai.test.SimpleAction" >
为
- <action name="simple_*_*" class="com.umgsai.test.SimpleAction" method="{1}_{2}">
取ActionContext中的内容加#
静态方法调用
- 在struts.xml中加 <constant name="struts.ognl.allowStaticMethodAccess" value="true">
- 1.<s:property value="@cn.com.xalead.tools.Utils@toUpperCase('Hello World!')"/>
- 2.<s:property value="@cn.com.xalead.tools.Utils@toUpperCase(username)"/>
- 3.<s:property value="@cn.com.xalead.tools.Utils@toUpperCase(user.username)"/>
- 4.<s:property value="@cn.com.xalead.tools.Utils@toUpperCase(#user.sex)"/>
动态方法调用
- <s:property value="new cn.com.xalead.tools.Utils().substring('Hello World!',2,5)"/>
方法可以嵌套调用
调用Action中的方法
- 2.<s:property value="getUtils().substring('Hello World!',2,5)"/>
- 3.<s:property value="utils.substring('Hello World!',2,5)"/>
- 4.<s:property value="out(#user.username)">
- 5.<s:property value="getUsername()"/>
配置文件中课传递动态参数
<result name="static">/static.jsp?id=#{user..id}</result>
<result name="static">/static.jsp?id=#{getUser()..id}</result>
<result name="static">/static.jsp?id=#{#user..id}</result> //user存在ActionContext中
<result name="login">%{#loginJsp}</result> 要转向的路径存在ActioContext中的loginJsp中
Eclipse窗口-首选项-Java-编辑器-内容辅助-java自动激活触发器.abcd.....
动态include页面
<li>
<s:set var="incPage" value="'/a.html'"/>
<s:include value="%{#incPage}"></include>
</li>
文本框只能输入数字
- <input type="text" name="chapter_id" id="chapter_id" onkeyup="value=value.replace(/[^\d]/g,'') "
- onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" class=""value=""/>
两种action的写法
- <a href="user_logout.action?method:logout">退出登录</a>
- <input type="button" class="button" value="退出登录" onClick="javascript:window.location.href='user_logout.action?method:logout'">
javascript函数传参
- <a href="#" onclick=" article_modify('1c18ac47-57ce-491b-9703-d1114b6d988a'); return false;">修改</a><!--传字符串加单引号-->
- <a href="#" onclick=" article_modify(123456); return false;">修改</a><!--传数字不加单引号-->