重点:
1、不直接跳页面,跳子控制器,因为路径问题和*.action配置
2、修改页面弹栈的问题,load出的结果作为跟,属性可以直接取值
3、页面样式问题 theme:simple
重点解析:
1.先把原来的web.xml配置中的
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
修改成:
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
1.2.在运行界面也会有问题,如果直接运行主界面,就会报500错误,
如图所示:
所有我们不能直接运行主界面,我们要先跳它的子控制器,才可以看到
主界面,如图所示:重点是红色框框的子控制器
2.我们在做学生修改的时候要
注意:我们无法直接调用我们所选中的单个学生,无法显示在页面上:
所以我们就要解决这个问题,使用<s:push>方法把我们所获得的学习信息传递的界面上去,就可以l:
<body>
<h1>edit</h1>
<s:action var="caction" namespace="/sy" name="clzAction" ></s:action>
<s:push value="result">
<s:form namespace="/sy" action="studentAction_edit" >
<s:textfield label="姓名" name="sname" />
<s:radio label="性别" name="sex" list="{'男','女'}"/>
<s:select label="班级" name="cid" headerKey="" headerValue="===请选择===" list="#caction.result" listKey="cid" listValue="cname" cssStyle="width:160px;" />
<s:textarea label="备注" name="mark"></s:textarea>
<s:hidden name="sid"/>
<s:submit value="确定"/>
</s:form>
</s:push>
</body>
3.我们在调用s标签的时候调样式的时候,我们发现无法使用什么都无法根本样式,
因为就要一写好,table就已经搞好了,例如:
我们想要修改界面样式,不是没有方法,我们只要在<s:form>标签内加入 theme="simple"就好了,
在下图中就没有table标签了,就可以直接加人想要的样式了