struts2 找不到action,急!
展开全部 XML档案的阶层格式适用于于组态设定,也因此许多的开源专案都将XML作为预设的组态定义方式,但通常也会提供非XML定义档的方式,像属性档案. properties,Spring也可以让您使用属性档案定义Bean,例如定义一个beans-config.properties:beans-config.properties helloBean.class=onlyfun.caterpillar.HelloBeanhelloBean.helloWord=Welcome!下个properties.jar的包就可以在eclipse中创建.properties文件了 和一般的资源文件创建一样 都是KEY=VALUE的形式 key都是英文 value是中文 只不过*.properties文件不能显示中文 所以要经过java自带的工具进行编码处理 操作如下 1.在命令行下转到你要转换文件的目录 2.要输入的命令格式如下: native2assii [-encoding Encoding] [inputfile [outputfile]] 例子: native2assii -encoding gb2312 application_temp.properties application_zh_CN.properties...
struts2求高手解答关于return “Login”;的问题
struts2 知识要点2009-12-24 10:501. 按这个顺序加载 Struts2 的常量,struts-default.xml、struts-plugin.xml、struts.xml、web.xml;后加载的会覆盖前面的同名常量。
强烈不推荐在 web.xml 中配置 Struts2 常量。
2. Struts1 中有一种 Action 类型是 ForwardAction,而在 Struts2 中相应的配置方式是 ,Showcase.action 直接映射到 /showcase.jsp。
/showcase.jsp3. struts.xml 中 的 namespace (命名空间) 相当于 Struts1 的模块的概念,但比 Struts1 的模块间切换要便。
例如,对于以下的配置 因 action GetBooks 所在的包指定了命名空间,所以 URL 就需要 /book/GetBooks.action 与它映射了。
如果未指定命名空间或指定为 "" 就是默认命名空间,指定 "/" 就是根命名空间,URL 就应该是 /GetBooks.action。
配置在默认命名空间中的 Action 相当于全局的,即类似于 Struts1 的 。
也就是说当找不到指定命名空间(例如 /barspace/bar.action) 中的 Action (bar.action) 时,就会尝试去默认命名空间 ("") 里去找。
4. 系统不会严格区分 Action 里哪个属性是用于封装请求参数的属性,那个属性是封装处理结果的属性。
对系统而言,封装请求参数的属性和封装处理结果的属性是完全平等的。
5. Struts2 的 Action 可以是一个 POJO,可以实现 Action 接口,也可以继承 ActionSupport。
实际上 ActionSupport 类是 Struts2 默认的 Action 处理类,就是说,配置 Action 时未指定 class 属性时,系统自动指定为 ActionSupport 类。
6. Struts2 中要访问 Servlet API 必须借助于 ActionContext 类,其中有访问对 HttpServletRequest(request),HttpSession(session),ServletContext(application) 进行操作的方法 (操作的是各自的 attribute 属性),不过还没发现如何操作 HttpServletResponse(response) 对象。
注意,这些方法都转换成了对 Map 实例的操作,而非真实的 Servlet API 实例,Struts2 会完成与实际存储的映射,所以 Action 仍然是脱离 Servlet API 的。
ActionContext 直接的 get() 和 put() 方法针对的是 request 的属性。
7. Struts2 也可以直接访问 Servlet API 实例,让你的 Action 实现后面其中一个接口就能获取到相应 Servlet API 实例:ServletContextAware、ServletRequestAware、ServletResponseAware。
注意要实现的接口方法。
如果觉得实现接口的方式麻烦,那么可以借助 ServletActionContext 的方法来拿到 Servlet API 的各个实例。
这样却是让 Action 与 Servlet API 耦合起来了。
8. 即使我们在 Struts2 的 Action 中获得了 HttpServletResponse 对象,也不要尝试直接在 Action 中生成对客户端的输出,没效果的,因为 Action 只是一个控制器,它并不直接对浏览者生成任何响应。
这也是为什么 ActionContext 未提供对 HttpServletResponse 的操作,只是操作 Cookie 要用到 response。
在 Struts1 中,如果 Action 返回 null 时,可以通过 response.getWriter().println("Hello World."); 输出内容到页面。
9. Struts2 也有像 Struts1 那样的对 Action 动态方法调用的特性,它是通过指定 form 的 action="ActionName!methodName.action" 来实现的,例如某表单的 action="Login!regist.action",提交后将会调用 name="Login" 的 Action 类的 regist() 方法,而非默认的 execute() 方法。
这种方式可以在一个 Action 中包含多个处理逻辑。
是不是 Struts1 要方便,不需要在配置文件中对这个 Action 配置额外的属性。
10. 可为 action 配置指定一个 method 属性,同上,这种方式也在一个 Action 类中定义多个逻辑,每个处理方法映射成一个逻辑 Action,有不同的 name 属性,非常类似于 Struts1 的 MappingDispatchAction。
缺点就是不像上面那样,被分开的多个逻辑 Action 不能共享 配置,并且 action 配置的 class 属性值产生冗余。
...is no Action mapped for namespace / and action name helloworld.
下载并解压struts2,此过程相信对于常和计算机打交道的大伙儿不是问题。
打开Eclipse,建立一个web项目"Text",如果不清楚该过程,请搜索参考小编的一篇相关文章:eclipse下如何配置tomcat。
在struts2文件包中,找到struts-2.3.12\apps\struts2-blank.war文件,并将其用解压软件解压出来,小编将其解压到桌面的“新建文件夹”中。
在解压出的文件中,找到:新建文件夹\WEB-INF\lib\ 下的所有jar包,将其中所有jar包复制到eclipse所建立的Text项目 -- WebContent -- WEB-INF --lib,切记,jar包全部导入到该lib下,不要导错。
在解压出的文件中,找到:新建文件夹\WEB-INF\src\java\struts.xml,将该文件复制到第二步eclipse中新建的web项目Text下的src中,如下图所示:eclipse的Text项目中,打开struts.xml文件,进行修改,只保留如下内容,修改内容用文字描述不方便,请仔细看图:在解压出的文件中,找到:新建文件夹\WEB-INF\web.xml ,将该xml文件中的filter内容复制到Eclipse中的web.xml文件中相应位置。
如下两图:eclipse的Text项目中,在WebContent下建立hello.jsp文件,并输入“HelloWorld!!”,保存。
如下图:右键单击Text项目,选择“Run As”--"Run on Server",运行该项目:如下图:弹出网站后,会显示404的错误,此时,在地址栏后面输入“hello”或者"hello.action",回车后,即可弹出“HelloWorld!!”。
struts2在Eclipse上的基本配置到此结束。
如何在jsp页面中使用struts2标签
展开全部 在jsp页面中使用struts2标签的方法是在jsp页面上引入的struts2标签库。
拓展: 1、Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。
Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。
其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。
2、Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。
虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
3、2000年5月发展至今,Struts1已经成为了一个高度成熟的框架,不管是稳定性还是可靠性都得到了广泛的证明。
市场占有率超过20%,拥有丰富的开发人群,几乎已经成为了事实上的工业标准。
但是随着时间的流逝,技术的进步,Struts1的局限性也越来越多地暴露出来,并且制约了Struts1的继续发展。
...
struts2 的配置文件路径问题
在web.xml中这样设置strutsorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterconfigstruts-default.xml,struts-plugin.xml,config/struts.xmlstruts/*必须把struts-default.xml,struts-plugin.xml一起添加。
必须:按顺序添加
如何判断struts2的iterator标签中的status状态
如题! 比如一个SQL insert into AA (id,userName,password) VALUES (0001,Wang,123); 变成HQL。
有映射文件吗? 比如你的数据库表为student 那么的你就应该有 hibernate .cfg.xml配置文.ThreadLocal的理解与在Spring中的应用[Trouble Shoot]Struts2文档教程Simple Setup一节中的问题万一顺从Struts2文档教程Simple Setup一节的措施对Strust2的架构举行重新发生的话,那么在接下来的Hello World一节中发生的网站安排到 Tomcat 6上后将无法启用。
起因是Simple Setup一节中解释的.struts2 中if和property,iterator标签中% {} #struts 2 标签 s:iterator的使用 struts 2的s:iterator?可以遍历?数据栈里面的任何数组,集合等等?以下几个简单的demo: s:iterator?标签有3个属性: value:被迭代的集合 id :指定集合.Hibernate的主键生成机制1) assigned 主键由外部程序负责生成,无需 Hibernate 参与。
2) hilo 通过hi/lo 算法实现的主键生成机制,需要额外的数据库表保存主键生成历史状态。
3) seqhilo 与hilo 类似,通过.Tomcat启动出错: Cannot rename original file to $TOMCAT_HOME$conf\tomcat-users.xml.old警告: Unexpected exception resolving reference java .io.IOException: Cannot rename original file to C:\Program Files\Apache Software Foundation\Tomcat 6.0\con.hibernate3 无法查询中文问题在查询中文时 hql语句在生成的语句中把中文显示为乱码 则在 hibernate 配置文件中加入: 有关SQLServer中varchar和nvarchar的区别可以直接去google。
一般在中文系统中应该使用nvarchar作为字符串的对应类型,但是 Hibernate 中的默认实现SQLServerDialect使用了varchar。
以下方法可以.Struts2页面取值
转载请注明出处51数据库 » struts2 helloword