学习札记--Struts1 配置文件
1.web.xmlaction1org.apache.struts.action.ActionServletconfig/WEB-INF/struts-config.xmlaction*.do login.jsp注意这个配置1这是说web部署时就实例化这个
·
1.web.xml
<web-app>
<!--struts1核心配置,将请求转给struts的ActionServlet处理,指定struts1的配置文件-->
<servlet>
<servlet-name>action</servlet-name>
<load-on-startup>1</load-on-startup>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!--struts1配置结束-->
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
注意这个配置<load-on-startup>1</load-on-startup>
这是说web部署时就实例化这个servlet,数字代表优先级,如果为负值或没有,server根据情况实例化servlet。所以这个struts核心servlet应该立即启动,不然会出现错误。
刚学习的时候就遇到bean:message报null就是这个问。
2.struts-config.xml(struts1的配置文件)
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<!-- 定义form -->
<form-beans>
<form-bean
name="logonForm"
type="form.LoginForm"/>
</form-beans>
<!-- 定义请求路径和处理action -->
<action-mappings>
<!-- 转发 -->
<action
path="/welcome1"
forward="/welcome.jsp"/>
<action
path="/Logon"
forward="/pages/Logon.jsp"/>
<action
path="/login"
type="action.Login"
name="logonForm"
scope="request"
input="/login.jsp"
validate="true">
<forward
name="success"
path="/login.jsp"/>
</action>
<action
path="/Logoff"
type="app.LogoffAction">
<forward
name="success"
path="/pages/Logoff.jsp"/>
</action>
</action-mappings>
<message-resources parameter="resources.MyResources"/>
</struts-config>
注意这个配置
validate="true",为true时必须设置input="/login.jsp",当出现错误时就会返回这个页面,可以通过html:errors显示错误信息表明相应的form中执行validate方法,
@Override
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
Locale currentLocale = Locale.getDefault();
if(getUsername() == null || getPassword() == null){
//值从国际化资源文件中获取
errors.add("error",new ActionMessage("error.login"));
}
return errors;
}
更多推荐
已为社区贡献1条内容
所有评论(0)