1.struts框架的5大组件:mvc,标签库,校验框架,国际化,tiles;

2.struts的9大核心类以及与mvc对应的关系:

C

ActionServlet

RequestProcessor

Action

actionMapping(struts-config.xml)

actionFormard

V

ActionForm

Jsp

M

Dao

Manager(facade)

3.Struts处理请求的全过程(8个步骤)。(struts如何通过一个url找到一个action)。struts的核心配置文件。

a.url-->ActionServlet(process)-->RequestProcessor(process)-->实例化form-->填充form值-->进行校验-->实例化action-->调用execute

b.核心配置文件为:struts-config.xml

4.mvc是什么,使用mvc的目的。

a. mvc(model view controller):m是指数据模型,v是指用户界面,c则是控制器。      

   b.使用MVC的目的是将M和V实现代码分离。也就是前台html/jsp表现层和后台java逻辑层分离。

5.mvc在action中的三种对应类及其作用。(难理解)

6.struts的四大标记类及其作用。

      Bean 标记:用来在 JSP 页中管理 bean

   逻辑标记:用来在 JSP 页中控制流程 
   HTML 标记:用来生成 HTML 标记,在表单中显示数据,使用会话 ID 对 URL 进行编程 
  模板标记:使用动态模板构造普通格式的页大标记类及其作用。

7.在struts中配置数据源及如何取出数据源(dataSource)

   

 Struts-config.xml
<data-sources>
<data-source type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<set-property property="url" value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=t23"/>
<set-property property="username" value="sa"/>
<set-property property="password" value=""/>
</data-source>
</data-sources> 取出dataSource
DataSource ds=(DataSource)this.getServlet().getServletContext().getAttribute("data");
Connection conn=ds.getConnection();

8.如何在Jbuilder中开发struts?

新建工程

建立Web模型

建立一个ActionForm

建立一个Action

修改struts-config.xml文件

9.如何实现struts的validator(校验)框架

 手动:
public class myForm extends ActionForm{
public ActionErrors validator(){
actionErrors.add(ActionErrors.GLOBAL_MESSAGE,new ActionMessage("properties中的key名"));
}
}
 在struts-config.xml中修改action的标签validator=true,input="错误页面"。当validator方法中ActionErrors不为空且size>0时,会返回input页面。
public cliass myForm extends ValidatorForm{
不能覆盖validator方法。
//public void validate(){}
} 在struts-config.xml中加入插件
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validator.xml"/>
</plug-in> 修改validator.xml中内容
errors.required{0} is required.
errors.minlength{0} can not be less than {1} charactors. <formset>
<form name="loginForm">
<field property="userName" depends="required">
<arg0 key="userName"/>
</field>
<field property="password" depends="required,minlength">
<arg0 key="password"/>
<arg1 key="${var:minlength}" resource="false"/>
<var>
<var-name>minlength</var-name>
<var-value>6</var-value>
</field>
</form>
</formset> struts-config.xml中修改action的标签validator=true,input="/error.jsp"

10.实现国际化

国际化:不用修改代码就可以适应不同国家的语言。

本地化:如果要适应一个国家的语言,要修改源代码。

实现过程:

在struts-config.xml中配置资源文件名。

<message-resouces parameter="struts.ApplicationResources"/>
在资源文件对应的目录struts中加入语言和国家的配置文件
ApplicationResources_zh_CN.properties 中国
ApplicationResources_en_US.properties 美国
如果不是英语要转码:native2ascii -encoding gb2312
源ApplicationResources_zh_CN.properties。
在jsp页面中用:
<bean:message key=""/>取出信息

 转

Struts2 常用的常量配置:http://www.cnblogs.com/yokoboy/archive/2013/01/25/2877145.html

Struts问题的更多相关文章

  1. 菜鸟学Struts2——Struts工作原理

    在完成Struts2的HelloWorld后,对Struts2的工作原理进行学习.Struts2框架可以按照模块来划分为Servlet Filters,Struts核心模块,拦截器和用户实现部分,其中 ...

  2. Struts的拦截器

    Struts的拦截器 1.什么是拦截器 Struts的拦截器和Servlet过滤器类似,在执行Action的execute方法之前,Struts会首先执行Struts.xml中引用的拦截器,在执行完所 ...

  3. Struts框架的核心业务

    Struts的核心业务 Struts核心业务有很多,这里主要介绍了比较简单一些的: 请求数据的处理,和数据自动封装,类型自动转换 1.Struts中数据处理 1.1.方式1:直接过去servletap ...

  4. Struts的文件上传下载

    Struts的文件上传下载 1.文件上传 Struts2的文件上传也是使用fileUpload的组件,这个组默认是集合在框架里面的.且是使用拦截器:<interceptor name=" ...

  5. 配置hibernate,Struts。文件

    hibernate文件配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernat ...

  6. hibernate与Struts框架结合编写简单针对修改练习

    失败页面fail.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  7. 3. 解析 struts.xml 文件

    1. struts.xml 文件基本配置: 主要放在资源路径下,配置 sturts2相关的 Action , 拦截器等配置 <struts> <!-- 设置常量 --> < ...

  8. Struts+Spring+Hibernate项目的启动线程

    在Java Web项目中,经常要在项目开始运行时启动一个线程,每隔一定的时间就运行一定的代码,比如扫描数据库的变化等等.要实现这个功能,可以现在web.xml文件中定义一个Listener,然后在这个 ...

  9. Struts 原理

    今天开始接触公司的框架,叫YNA,三个字母应该是雅马哈的缩写,这个框架听公司前辈说功能很强大,但实际上我看不懂.哈哈...... 其中整合了SSH框架,接下来我说下Struts的一些原理 其实这张图就 ...

  10. axis2+struts拦截地址冲突问题

    axis2和struts在整合过程中,struts会把axis的地址也拦截了,默认当成一个action处理, 会因为找不到action而报错: <!-- struts配置 --> < ...

随机推荐

  1. 百度地图API自动定位和3种导航

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  2. js中的arguments对象

    在Javascript中没有函数重载,而arguments对象弥补了这点不足. js函数的参数是一个数组,在参数个数不固定的情况下,只需要给方法传递不同元素个数的数组即可.即使声明函数时没有形式参数, ...

  3. Unity2017五子棋大战_人机_双人_UNET联网

    五子棋大战源码工程基于Unity2017.2进行开发,分为人机.双人.UNET网络三种对战方式,配有案例讲解视频, 其中人机五子棋AI有三种开发难度,欢迎有兴趣的同学加入学习! . 目录 000-展示 ...

  4. TZOJ 3659 神奇的探险之旅(有向无环每个点只能经过一次最长路dij)

    描述 我们正在设计这样的一款儿童探险游戏:游戏由很多故事场景组成,每个场景中都有一个问题,游戏根据玩家的回答将进入下一场景,经过巧妙的设计,我们保证在一次“探险旅行”中,不会重复的进入任何相同的场景, ...

  5. bbs项目中的零碎点记录

    一.切换django的语言 在settings中修改django默认的语言 # LANGUAGE_CODE = 'en-us' # 切换django的语言,默认是英语的,我们把他修改为中文 LANGU ...

  6. 解决 MySQL 比如我要拉取一个消息表中用户id为1的前10条最新数据

    我们都知道,各种主流的社交应用或者阅读应用,基本都有列表类视图,并且都有滑到底部加载更多这一功能, 对应后端就是分页拉取数据.好处不言而喻,一般来说,这些数据项都是按时间倒序排列的,用户只关心最新的动 ...

  7. linux命令学习之:ls

    ls命令用来显示目标列表,在Linux中是使用率较高的命令.ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件.语法 ls(选项)(参数) 选项说明 -a:显示所有档案及目录(ls内定将档案 ...

  8. errror:[test_rig3.launch] is neither a launch file in package [svo_ros] nor is [svo_ros] a launch file name The traceback for the exception was written to the log file

    1. 打开一个终端,运行roscore 2. 打开另一个终端,运行 roslaunch svo_ros test_rig3.launch 出现errror: 忘记关键步骤了 $ cd <path ...

  9. PowerDesigner生成数据字典

    1.首先说明我使用的环境 2.打开PDM模型,右键-->NEW-->REPORT 3.数据字典编辑器(一些通用模型吧,自己可以再DIY) 4.选择Table-->List of Ta ...

  10. 在BCH硬分叉后防止重放攻击-2

    重放攻击原理和防范措施——如何安全分离BCH的分来源:巴比特018-11-18 16:49:37 热度 12390 第0章 引言 即将面临的比特币分裂,如何保证你的币在分裂后肯定留下两种币?一个重点要 ...