⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 复习4.txt

📁 Java大部分的基础知识,EJB3,EJB2,WEBSERVICE,SOAP,JMS,MQ,还有些面试题
💻 TXT
📖 第 1 页 / 共 2 页
字号:
	#的作用:
		1、显示request、session、applications值,具体实例如下:
			<s:property value="#request.user.userName"/>			
				一个值:
					<s:property value="#parameters.userName"/>
				多个重名值:
					<s:property value="#parameters.userName[0]"/>
		2、过滤
			1、取一批值
				 <s:iterator value="#request.users.users.{?#this.sex=='123'}" id="user" >
			2、取一行的一个属性值
				<s:property value="#request.users.users.{?#this.sex=='123'}.{userName}[0]"/>
		3、定义hashMap
			<s:set name="maps" value="#{1:'a1',2:'a2',3:'a3',4:'a4'}"/>
	%的作用:相当于s:property,可以在struts2标签内显示值
		<s:property value="#request.user.userName"/>
		<s:set name="p_userName" value="%{#request.user.userName}"/>
		<s:set name="p_userName" value="#request.user.userName"/>
	$有两个主要的用途
		用于在国际化资源文件中,引用OGNL表达式
			${getText('userName')}:通过键名显示消息
			${getText('birthday')}:可以取出action的属性值
			${min};可以取出参数值
			
			userName=用户名
			password=密码
			age=年龄
			birthday=生日
			userNameRequiredError=${getText('userName')}不能为空
			pwdRequiredError=${getText('password')}不能为空
			pwdLengthError=${getText('password')}的长度必在${minLength}和${maxLength}之间
			ageValueError=${getText('age')}的长度必在${min}和${max}之间
			birthdayError=${getText('birthday')}${birthday}的范围在${min}和${max}之间
			
			${getText('userName')}是资源文件中已有的信息
			${min}:是在LoginAction-validation.xml配置的参数信息 
			${birthday}取出单行文本<s:textfiled name="birthday">的信息
7、struts2.0与spring2.0的结合
	1、在web.xml文件中指定spring的监听器,加载applicationContext.xml文件
		<listener>   
     			<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>   
    		</listener>
    	2、修改src根目下的struts.xml中的action标签,其class不再指向真正的Action类,而是spring的一个bean的ID名称
		<action name="insert" class="insert" method="insert">
			<result name="error">/error.jsp</result>
			<result name="success">/succ.jsp</result>
		</action>
	2、在applicaitonContext.xml配置具体的action:
		<bean id="insert" class="struts.MakeAction">
			<property name="facade">
				<ref local="facadeProxy" />
			</property>
		</bean>
8、在struts2中加载多个配置文件
	在struts.xml中加入
		<include file="struts-1.xml"/>标签
9、文件的上传与下载
	1、在jsp页面中加入
		<s:form method="post" action="file" enctype="multipart/form-data">
			<s:file name="myFile"/>
		</s:form>
	2、在action中加入如下属性
		public class FileAction
		{
			private File myFile;//及get set方法
			private String myFileFileName;//及get set方法
			private String myFileContentType;//及get set方法
			public String execute()
			{
				int pos=this.myFileFileName.indexOf(".");
				String last=this.myFileFileName.substring(post);
				last=(new Date()).getTime()+last;
				String path=ServletContextAction.getServletContext().getRealPath("/images")+"/"+last;
				File out=new File(path);
				BufferedInputStream bis=new BufferedInputStream(new FileInputStream(myFile));
				BufferedOutputStream bis=new BufferedOutputStream(new FileOutputStream(out));
				//字节流的处理过程
			}			
		}
7、struts2中的国际化
	1、什么是国际化
		不用改源代码就可以适应不同的国家语言
	2、国际化实现的过程		
		1、在src根目下加入struts.properties文件,说明全局的properties文件名称,内容如下
			struts.custom.i18n.resources=messages
		2、在src根目下加入messages_语言_国家.properties文件,说明具体键名与消息
			messages_en_US.properties
			messages_zh_CN.properties
		3、如果在properties文件中有中文,要将其转码
			native2ascii -encoding utf-8 temp.txt messages_zh_CN.properties
		4、在jsp页面中显示			
			jsp显示的处理
				<s:text name="hello"/>
				<s:property value="%{getText('hello')}"/>
		2、代码中取值
	3、国际化的参数
		${getText('userName')}:通过键名显示消息
		${getText('birthday')}:可以取出action的属性值
		${min};可以取出参数值
8、资源文件的种类
	1、全局的资源文件
		文件名_语言_国家.properties
		在struts.properties文件中说明资源文件的名称
	2、包范围内的资源文件,在包内,包内的类可用
		action类名_语言_国家.properties
	3、action范围内的资源文件,只有当前Action才可以用
		action类名_语言_国家.properties
	4、支持继承
9、拦截器	
	已有拦截器:
		1、加载struts-default.xml文件
			<include file="struts-default.xml"/>
			<package  extends="struts-default">
				<action>
				</action>
			</package>
		2、在action中配置具体的拦截器
			<action>
				 <interceptor-ref name ="timer" /> 
			</action>
	自定义拦截器:
		1、必须继承于AbstractInterceptor,覆盖intercept方法
		2、在struts.xml文件中说明具体的拦截器
			<interceptors> 
		            <interceptor name ="safe" class ="intercept.SafeIntercept" /> 
		        </interceptors>
		3、在action中引用拦截器
			<interceptor-ref name ="safe" /> 
10、校验框架:
	自动校验:		
		xml校验:
			1、国际化实现
				1、struts.properties说明资源文件名称
				2、加入资源文件
					文件名_语言_国家.properties
			2、在Action所在包中加入Action类名称-validation.xml文件,说明具体的校验规则。
			3、在jsp页面是显示错误
				<s:fieldError/>
				<s:actionError/>
			4、具体**-validation.xml文件的查找顺序:
				1、类
				2、实现接口 	
				3、父类
				4、包
				5、全局校验
		通过注解校验:在action属性get方法这前加入注解,如日期校验、
			     不能为空、长度校验、email。
		让系统通过javsScript代码在客户端校验:
			在form中加入validate="true"属性
				<s:form validate="true">
				</s:form>
			只有下面的几种支持javaScript校验
				required validator 
				requiredstring validator 
				stringlength validator 
				regex validator 
				email validator 
				url validator 
				int validator 
				double validator 				
	手动校验:	
		1、Action继承于ActionSupport并实现Validatable接口,实现validate方法,
			通过addActionError加入错误消息。	
12、struts2.0的转换器(converter)
	1、可以批量转化数据,可以将table中的多行信息转化为到Action中的List属性中,
	   命名格式是:
	   	customer.buies[0].buyID
	   	customer.buies[0].buyName
	   	
	   	customer.buies[1].buyID
	   	customer.buies[1].buyName
	2、自定义转换器:可以将页面的字符串转化为自己需要的类型,具体实现如下
		1、实现转化器
			public class LocaleConvert extends DefaultTypeConverter
			{
				public Object convert(Map conext,Object value,Class toType)
				{
					//从客户到服务器传送的是一个字符串数组
					//从服务到客户端传的是一个对象
				}
			}
		2、说明转化器
			1、全局级:在src根目录下加入xwork-conversion.xml文件,内容如下
				类型=转化器类全路径
				java.util.Locale=convert.LocaleConvert
			2、类级:在类所在的包加入"类名-conversion.xml"文件,内容如下
				属性名=转化器类全路径
				loc=convert.LocaleConvert

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -