struts 学习笔记

java_home
jre_>path
在web.xml中添加tag标记。
<taglib>
 <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
 <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
</taglib>
在页面中
<%@ page contentType="text/html; charset=gb2312"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<bean:write name="HelloWordForm" scope="session" property="word"/>
<html:form action="/helloword">
请输入Hello Word:<html:text property="word"/>
<html:submit/>
</html:form>


在调用Action之前做以下动作:
默认在session中检查bean的实例。
如果没有则新建一个,并添加到用户的Session。
调用Bean中的setter。
调用Action的execute方法。


针对一个Bean多个页面的情况,同一个表单的不同页面也提交到相同的Action。
ActionForm Beans
Business Beans【Stateful or stateless bean】
System Status Beans【Entity Bean】

 

View
国际化,用户界面
<jsp:include/>


<bean:message bundle="" key=""/>
<bean:message key="login.title"/>
<message-resources>标记必须在 <controller />标记的下面,不然就会出错
<message-resources parameter="test.struts.ApplicationResources2" key="another" />


验证用户输入:
1.ActionForm中验证
实现validate方法。
validate="true"
return mapping.getInputForward();


DynaActionForm
1.指定dynamic=true
2.type为org.apache.struts.action.DynaActionForm
3.form-property为要添加的属性


在ActionForm中使用映射属性
public Object getMap(String key) { return map.get(key); }
public void setMap(String key,Object obj) { this.map.put(key,obj); }
<html:text property="map(ok)"/>
<bean:write name="UserForm"  property="map(ok)"/>

 

ActionServlet多模块配置(ReloadableActionServlet)
<init-param>  <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml </param-value> </init-param> <init-param>  <param-name>config/model2</param-name> <param-value>/WEB-INF/struts-config2.xml </param-value> </init-param>


对Struts应用来说,把load-on-startup元素包括进去来保证资源的正确初始化是很关键的。


Action
Dispatch Action
根据传入的参数决定调用那个方法
在action的config档中设定parameter="method",
在Action中添加各种method
在URL中加入?method=***

LookUpDispatchAction
按照不同的目的把表单提交到不同的Action
1.在ActionForm中添加action属性
2.在HTML中添加以下submit代码,代表两个不同的action
<html:submit property="action"><bean:message key="button.submit.hello"/></html:submit>
<html:submit property="action"><bean:message key="button.submit.ok"/></html:submit>
3.extend LookupDispatchAction
 getKeyMethodMap()


ActionMessages.GLOBAL_MESSAGE;

 

ActionErrors errors = new ActionErrors();
errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("demo"));
saveErrors(request, errors);

 


plug-in
plug-in通常我们提供一种对应用程序进行一些常用的资源进行初始化,特别是一些比较费时的操作,如文件的I/O操作数据库的连接等,对这些资源你就不需要经常去初始化这些资源,这样就可以提高你的应用程序的速度

下载前必看:https://pan.quark.cn/s/a4b39357ea24 在本资料中,将阐述如何运用JavaScript达成单击下拉列表框选定选项后即时转向对应页面的功能。 此种技术适用于网页布局中用户需迅速选取并转向不同页面的情形,诸如网站导航栏或内容目录等场景。 达成此功能,能够显著改善用户交互体验,精简用户的操作流程。 我们须熟悉HTML里的`<select>`组件,该组件用于构建一个选择列表。 用户可从中选定一项,并可引发一个事件来响应用户的这一选择动作。 在本次实例中,我们借助`onchange`事件监听器来实现当用户在下拉列表框中选定某个选项时,页面能自动转向该选项关联的链接地址。 JavaScript里的`window.location`属性旨在获取或设定浏览器当前载入页面的网址,通过变更该属性的值,能够实现页面的转向。 在本次实例的实现方案里,运用了`eval()`函数来动态执行字符串表达式,这在现代的JavaScript开发实践中通常不被推荐使用,因为它可能诱发安全问题及难以排错的错误。 然而,为了本例的简化展示,我们暂时搁置这一问题,因为在更复杂的实际应用中,可选用其他方法,例如ES6中的模板字符串或其他函数来安全地构建和执行字符串。 具体到本例的代码实现,`MM_jumpMenu`函数负责处理转向逻辑。 它接收三个参数:`targ`、`selObj`和`restore`。 其中`targ`代表要转向的页面,`selObj`是触发事件的下拉列表框对象,`restore`是标志位,用以指示是否需在转向后将下拉列表框的选项恢复至默认的提示项。 函数的实现通过获取`selObj`中当前选定的`selectedIndex`对应的`value`属性值,并将其赋予`...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值