查看栈
<%@ taglib prefix ="s" url="/sturts-tags" %> <s:debug></s:debug>
取出
OGNL方法
<s:property value=“[数字].名”>
数字代表开始寻找值的开始位置
action对象默认位于栈顶。
对象map栈
OGNL
<s:poperty values="#session.object.name"></s:poperty>
#域.对象名.属性
EL
${sessipnScop.object.name}
对于表单内的action后缀问题
struts.xml
<constant name="struts.action.extension" value=","></constant>
default.properties描述
### Used by the DefaultActionMapper
### You may provide a comma separated list, e.g. struts.action.extension=action,jnlp,do
### The blank extension allows you to match directory listings as well as pure action names
### without interfering with static resources, which can be specified as an empty string
### prior to a comma e.g. struts.action.extension=, or struts.action.extension=x,y,z,,
struts.action.extension=action,,
action使用通配符方式
<action name="member_*" class="com.mb.controller.LoginController" method="{1}" >
<result name="success">/member.jsp</result>
使用普通的html标签时
<form action="member_login" method="post"> <input type="text" name="userInfo.username">
<input type="password" name="userInfo.password">
<input type="submit"/> </form>
action=“member_login”可以无后缀(因为配置了struts.action.extension为“,”)
使用tag标签时
<s:form action="member_login" method="POST">
<s:textfield name="userInfo.username" label="用户名" required="true"></s:textfield>
<s:password name="userInfo.password" label="密码" required="true"></s:password>
<s:submit value="登录"></s:submit>
</s:form>
虽然代码action没有后缀但是在页面生成时变成了
<div title="登录" style="padding:10px;"> <form id="member_login" name="member_login" action="/MessageBoard/member_login.action" method="POST"> <table class="wwFormTable"> <tr> <td class="tdLabel"><label for="member_login_userInfo_username" class="label">用户名:</label></td> <td ><input type="text" name="userInfo.username" value="" id="member_login_userInfo_username" required="true"/></td> </tr> <tr> <td class="tdLabel"><label for="member_login_userInfo_password" class="label">密码:</label></td> <td ><input type="password" name="userInfo.password" id="member_login_userInfo_password" required="true"/></td> </tr> <tr> <td colspan="2"><div align="right"><input type="submit" id="member_login_0" value="登录"/> </div></td> </tr>
</table></form>
可以看出action请求出现了后缀 。
这时两种方式均有效
类似<constant name="struts.action.extension" value=","></constant> 的修改对struts-tag标签下的form action无影响,struts自动生成action请求连接,struts依旧会回应请求
而html下form标签如果没有配置,默认的话该怎样就怎样,还是需要后缀。