`

struts2复习笔记(version2.1.6)(07~0x)

 
阅读更多
1、为action属性注入值
(1)struts.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<package name="itcast" namespace="/test" extends="base">
		
		
		<action name="property" class="cn.itcast.action.HelloWorldAction">
			<param name="savePath">/image</param>
			<result>/index.jsp</result>
		</action>
		
		
	</package>
	
</struts>

(2)配置文件中的java处理类:cn.itcast.action.HelloWorldAction
package cn.itcast.action;

import java.net.URLEncoder;

public class HelloWorldAction {
	
	private String savePath;
	
	public String execute() throws Exception {
	
		return "success";
	}

	public void setSavePath(String savePath) {
		this.savePath = savePath;
	}

	public String getSavePath() {
		return savePath;
	}
}

(3)jsp页面index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
  </head>
  
  <body>
   ${savePath }
  </body>
</html>


属性值的注入功能更主要应用在关于一些不便于将值固定写死在程序中的参数配置
属性值得注入必须提供该属性的set方法,如在jsp界面中通过上述代码取值时,需要提供该属性的get方法。

2、指定需要Struts 2处理的请求后缀
前面我们都是默认使用.action后缀访问Action。其实默认后缀是可以通过常量”struts.action.extension“进行修改的,例如:我们可以配置Struts 2只处理以.do为后缀的请求路径:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <constant name="struts.action.extension" value="do"/>
</struts>


如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。如:
<constant name="struts.action.extension" value="do,go"/>


2、struts相关配置文件中的常量定义

(1)常量可以在struts.xml或struts.properties中配置,建议在struts.xml中配置,两种配置方式如下:
在struts.xml文件中配置常量
<struts>
    <constant name="struts.action.extension" value="do"/>
</struts>


在struts.properties中配置常量
struts.action.extension=do

因为常量可以在下面多个配置文件中进行定义,所以我们需要了解struts2加载常量的搜索顺序:
struts-default.xml
struts-plugin.xml
struts.xml
struts.properties
web.xml
如果在多个文件中配置了同一个常量,则后一个文件中配置的常量值会覆盖前面文件中配置的常量值.

(2)常用常量配置的介绍
<!-- 指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker 、velocity的输出 -->
    <constant name="struts.i18n.encoding" value="UTF-8"/>
    <!-- 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。
    如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。 -->
    <constant name="struts.action.extension" value="do"/>
    <!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 -->
    <constant name="struts.serve.static.browserCache" value="false"/>
    <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->
    <constant name="struts.configuration.xml.reload" value="true"/>
    <!-- 开发模式下使用,这样可以打印出更详细的错误信息 -->
    <constant name="struts.devMode" value="true" />
     <!-- 默认的视图主题 -->
    <constant name="struts.ui.theme" value="simple" />
    <!– 与spring集成时,指定由spring负责action对象的创建 -->
    <constant name="struts.objectFactory" value="spring" />
 <!–该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true。如果需要关闭动态方法调用,则可设置该属性为false。 -->
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
 <!--上传文件的大小限制-->
<constant name="struts.multipart.maxSize" value=“10701096"/>


分享到:
评论

相关推荐

    struts2-core-2.1.6.jar

    struts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jarstruts2-core-2.1.6.jar...

    struts2-struts1-plugin-2.1.6.jar

    struts2-struts1-plugin-2.1.6.jar

    struts2-blank-2.1.6

    struts2-blank-2.1.6

    struts2-core.jar

    struts2-core-2.1.6.jar, struts2-core-2.1.8.1-sources.jar, struts2-core-2.1.8.1.jar, struts2-core-2.1.8.jar, struts2-core-2.2.1.1.jar, struts2-core-2.2.1.jar, struts2-core-2.2.3.1.jar, struts2-core-...

    struts2-convention-plugin-2.1.6.jar 和struts2-core-2.1.6.jar

    不论高低版本,要使用struts2-core这个jar包,当又需struts2-convention-plugin.jar时勿必要使两者版本一致哦,否则会有DefError、Unable to read class诸等错误

    struts2.1.6开发相关的包

    struts2-core-2.1.6.jar freemarker-2.3.13.jar commons-logging-1.0.4.jar ognl-2.6.11.jar xwork-2.1.2.jar commons-fileupload-1.2.1.jar

    struts2.1.6lib

    struts2.1.6lib struts 2.1.6 lib 核心类库

    struts2-convention-plugin-2.1.6.jar

    struts2-convention-plugin-2.1.6.jar

    struts2所需jar包

    struts2-core-2.1.6.jar freemarker-2.3.13.jar commons-logging-1.0.4.jar ognl-2.6.11.jar xwork-2.1.2.jar commons-fileupload-1.2.1.jar

    Struts2.1.6API

    struts2.1.6api. 想学习struts2的朋友们。希望能喜欢这个api,我也希望能给你们一点帮助。

    Struts2.1.6中关于JSON的配置和使用

    1,需要把jsonplugin-0.33.jar拷贝到Web-INF/lib目录下....2,在struts2.1.6的配置文件中进行配置,就是返回的类型是json,并且要为JSON数据单独创建一个Package,继承的包不再是struts-default,而是json-default

    struts-2.1.6 项目基础包

    struts-2.1.6 项目基础包,我们在建立简单struts项目时,有这些包就足够了。

    Struts2-2.1.6一个最简单的例子,以及需要的基础jar包

    struts2-2.1.6配置好的jar包 博文链接:https://taiyang-yu.iteye.com/blog/815227

    struts2.1.6

    struts2.1.6,内有6个架包: commons-fileupload-1.2.1.jar; commons-logging-1.0.4.jar; freemarker-2.3.13.jar; ognl-2.6.11.jar; struts2-core-2.1.6.jar; xwork-2.1.2.jar

    struts2.1.6jar包

    全部 struts2.1.6 jar包 全部 struts2.1.6 jar包 全部 struts2.1.6 jar包

    struts2.1.6+spring2.0+hibernate3.2常用配置包

    MyEclipse8.0中自带的struts2版本是2.1.6,spring版本有2.0,2.5的,hibernate版本较多些至3.2,首先选版本就选择最优的,struts2没的选只有2.1.6版的,所以先导入struts2支持,然后是spring选的是2.0,问题就出在...

    struts-2.1.6-sources

    struts2.1.6-全包All,以及包括struts2.1.6源码,实用有效

    struts2-spring-plugin-2.1.6.jar

    使用struts2+spring方式开发,就必须要struts2-spring-plugin-2.1.6.jar这个包,因为它是两者融合的插件,如果没有肯定不会出错

Global site tag (gtag.js) - Google Analytics