acceptlanguagesetRequestProperty()的用法,由里面参数介绍的
acceptlanguage 时间:2021-05-28 阅读:(
)
1.谁能简述下Struts中的标记库 要详解 !!!!
Struts标记库
JSP视窗组件所使用的struts标记库由四类标记组成:
2. Bean标记:用来在JSP页中管理bean
3. 逻辑标记:用来在JSP页中控制流程
4. HTML标记:用来生成HTML标记,在表单中显示数据,使用会话ID对URL进行编程
5. 模板标记:使用动态模板构造普通格式的页
2.1 Bean标记
这个标记库中包含用于定义新bean、访问bean及其属性的标记。
Struts框架提供了多种自定义标记用来在JSP页中处理JavaBean。
这些标记被封装在一个普通的标记库中,在文件struts-bean.tld中定义了它的标记库描述器。
Bean标记库将标记定义在四个子类别中:
创建和复制bean的标记
脚本变量定义标记
bean翻译标记
消息国际化标记
2.1.1 Bean复制标记
可定义新bean,可复制现有bean,还可从现有bean复制属性。
<bean:define>标记用来:
定义新字符串常数
将现有的bean复制到新定义的bean对象
复制现有bean的属性来创建新的bean
<bean:define>标记属性:
属性描述Id 新定义的bean脚本变量名称,必须设置Type 定义引入脚本变量的类Value 为id属性定义的脚本变量分配一个新的对象Name 目标bean的名称。
若value属性没有设置,这个属性就必须设置property Name属性定义的bean的属性名称,用来定义新的bean
13
Scope 源bean的作用域。
若没有设置,搜索范围是从页作用域到应用程序作用域toScope 目标bean的作用域。
若没有设置,默认值是页作用域
例如:定义一个bean:
<bean:define id=”test” value=”this is a test”/>
源bean在页作用域中被拷贝大哦请求作用域中的另一个bean:
<bean:define id=”targetBean” name=”sourceBean”
scope=”page” toScope=”request”/>
2.1.2 定义脚本变量的标记
从多种资源中定义和生成脚本变量,这些资源包括cookie,请求参数,HTTP标头等等。
属性如下:
属性描述Id 脚本变量和要定义的页作用域属性的名称Name cookie/标头/参数的名称multiple 如果这个属性设置了任意一个数值,所有匹配的cookie都会被积累并存储到一个Cookie[](一个数组)类型的bean里。
若无设置,指定cookie的第一个值将作为Cookie类型的值Value 如果没有匹配的cookie或数值,就返回这个属性指定的默认值
例如:
<bean:cookie id=”myCookie” name=”userName”/>
脚本变量名称是myCookie,用来创建这个属性的cookie的名称是userName。
<bean:header id=”myHeader” name=”ept-Language”/>
脚本变量名称是myHeader,请求标头的名称是ept-Language.
<bean:parameter id=”myParameter” name=”myParameter”>
脚本变量名称是myPatameter,它保存的请求参数的名称也是myParameter.
<bean:include>标记将对一个资源的响应进行检索,并引入一个脚本变量和字符串类型的页作用域属性。
这个资源可以是一个页,一个ActionForward或一个外部URL。
与<jsp:include>的不同是资源的响应被存储到一个页作用域的bean中,而不是写入到输出流。
属性如下:
属性描述Id 脚本变量和要定义的页作用域属性的名称Page 一个内部资源forward 一个ActionForward Href 要包含的资源的完整URL
例如:
<bean:include id=”myInclude” page=”MyJsp?x=1”/>
脚本变量的名称是myInclude,要检索的响应来自资源MyJsp?x=1。
<bean:resource>标记将检索web应用中的资源,并引入一个脚本变量和InputStream或字符串类型的页作用域属性。
如果在检索资源时发生问题,就会产生一个请求时间异常。
属性如下:
属性描述
14
Id 脚本变量和要定义的页作用域属性的名称Name 资源的相对路径Input 如果这个属性不存在,资源的类型就是字符串
例如:
<bean:resource id=”myResource” name=”/WEB-INF/images/myResource.xml”/>
脚本变量的名称是myResource,要检索的资源的名称是myResource.xml。
2.1.3 显示Bean属性
标记库中定义了<bean:write>标记,用来将bean的属性输送到封装的JSP页写入器。
这个标记与<jsp:getProperty>类似,属性如下:
属性描述Name 要进行属性显示的bean的名称property 要显示的属性的名称。
如果这个属性类有java.beans.PropertyEditor,getAsText()或toString 方法会被调用Scope Bean的作用域,若没有设置,搜索范围是从页到应用程序作用域Filter 如果设置true,属性中的所有特殊HTML字符都将被转化为相应的实体引用Ignore 如果设置false,当发现属性时会产生一个请求时间异常,否则返回null
例如:
<bean:write name=”myBean” property=”myProperty” scope=”request”
filter=”true”/>
myBean的属性myProperty将会被显示,作用域为请求,如果发现任何HTML特殊字符都将被转化为相应的实体引用。
2.1.4 消息标记和国际化
strtus框架支持国际化和本地化。
用户在他们的计算机中定义自己所在的区域,当web应用程序需要输出一条消息时,它将引用一个资源文件,在这个文件中所有的消息都使用了适当的语言。
一个应用程序可能提供了很多资源文件,每个文件提供了用不同语言编写的消息。
如果没有找到所选语言的资源文件,就将使用默认的资源文件。
struts框架对国际化的支持是使用<bean:message>标记,以及使用java.util数据包中定义的Locale和ResourceBundle类来实现Java2平台对这些任务的支持。
Java.text.MessageFormat类定义的技术可以支持消息的格式。
利用此功能,开发人员不需了解这些类的细节就可进行国际化和设置消息的格式。
用strtus实现国际化和本地化:
第一步要定义资源文件的名称,这个文件会包含用默认语言编写的在程序中会出现的所有消息。
这些消息以“关键字-值”的形式存储,如下:
error.validation.location = The entered location is invalid
这个文件需要存储在类的路径下,而且它的路径要作为初始化参数传送给ActionServlet作为参数进行传递时,路径的格式要符合完整Java类的标准命名规范。
比如,如果资源文件存储在WEB-INFclasses目录中,文件名是
15
ApplicationResources.properties,那么需要传递的参数值是ApplicationResources。
如果文件在 est中,那么参数值就应该.test. ApplicationResources.
为了实现国际化,所有的资源文件必须都存储在基本资源文件所在的目录中。
基本资源文件包含的是用默认地区语言-本地语言编写的消息。
如果基本资源文件的名称是ApplicationResources.properties,那么用其他特定语言编写的资源文件的名称就应该是ApplicationResources_xx.properties(xx为ISO编码,如英语是en)。
因此这些文件应包含相同的关键字,但关键字的值是用特定语言编写的。
ActionServlet的区域初始化参数必须与一个true值一起传送,这样ActionServlet就会在用户会话中的Action.LOCALE_KEY关键字下存储一个特定用户计算机的区域对象。
现在可以运行一个国际化的web站点,它可以根据用户计算机上的设置的区域自动以相应的语言显示。
我们还可以使用特定的字符串来替换部分消息,就象用java.text.MessageFormat的方法一样:
error.invalid.number = The number is valid
我们可以把字符串替换成任何我们需要的数字。
<bean:message>标签属性如下:
属性描述Key 资源文件中定义消息关键字Locale 用户会话中存储的区域对象的属性名称。
若没有设置,默认值是Action.LOCALE_KEY Bundle 在应用程序上下文中,存储资源对象的属性的名称。
如果没有设置这个属性,默认值是Action.MESSAGE_KEY arg0 第一个替换参数值arg1 第二个替换参数值arg2 第三个替换参数值arg3 第四个替换参数值
例如:资源文件中定义了一个消息:
info.myKey = The numbers entered are ,,,
我们可使用下面的消息标记:
<bean:message key=”info.myKey” arg0=”5” arg1=”6” arg2=”7” arg3=”8”/>
这个信息标记输出到JSP页会显示为:The numbers entered are 5,6,7,8
2.2 逻辑标记
逻辑库的标记能够用来处理外观逻辑而不需要使用scriptlet。
Struts逻辑标签库包含的标记能够有条件地产生输出文本,在对象集合中循环从而重复地产生输出文本,以及应用程序流程控制。
它也提供了一组在JSP页中处理流程控制的标记。
这些标记封装在文件名为struts-logic.tld的标记包中。
逻辑标记库定义的标记能够执行下列三个功能:
条件逻辑
重复
转发/重定向响应
16
2.2.1 条件逻辑
struts有三类条件逻辑。
第一类可以比较下列实体与一个常数的大小:
cookie
请求参数
bean或bean的参数
请求标头
以下列出了这一类标记:
标记功能<equal> 如果常数与被定义的实体相等,返回true <notEqual> 如果常数与被定义的实体不相等,返回true <greaterEqual> 如果常数大于等于被定义的实体,返回true <lessEqual> 如果常数小于等于被定义的实体,返回true <lessThan> 如果常数小于被定义的实体,返回true <greaterThan> 如果常数大于被定义的实体,返回true
这一类的所有标记有相同的属性
属性描述Value 要进行比较的常数值Cookie 要进行比较的HTTP cookie的名称Header 要进行比较的HTTP请求标头的名称parameter 要进行比较的HTTP请求参数的名称Name 如果要进行比较的是bean或bean的属性,则这个属性代表bean的名称property 要进行比较的bean属性的名称Scope Bean的作用域,如果没有指定作用域,则它的搜索范围是从页到应用程序
例如:
<logic:equal parameter=”name” value=”SomeName”>
The entered name is SomeName
</logic:equal>
判断名为”name”的请求参数的值是否是”SomeName”。
<logic:greaterThan name=”bean” property=”prop” scope=”page” value=”7”>
The value of bean.Prop is greater than 7
</logic:greaterThan>
判断在页的作用域中是否有一个名为”bean”的bean,它有一个prop属性,这个属性的值是否大于7。
如果这个属性能够转化为数值,就进行数值比较,否则就进行字符串比较。
第二类条件标记定义了两个标记:
<logic:present>
<logic:notPresent>
它们的功能是在计算标记体之前判断特定的项目是否存在。
标记的属性和属性值决定了要进行检查的项目。
属性描述
17
Cookie 由这个属性指定的cookie将被检查是否存在Header 由这个属性指定的请求标头将被检查是否存在parameter 由这个属性指定的请求参数将被检查是否存在Name 如果没有设置property属性,那么有这个属性指定的bean将被检查是否存在。
如果设置了,那么bean和bean属性都将被检查是否存在。
property 检查有name属性指定的bean中是否存在指定的属性Scope 如果指定了bean的名称,这就是bean的作用域。
如果没有指定作用域,搜索的范围从页到应用程序作用域。
Role 检查当前已经确认的用户是否属于特殊的角色User 检查当前已经确认的用户是否有特定的名称
例如:
<logic:notPresent name=”bean” property=”prop” scope=”page”>
The bean property bean.prop is present
</logic:notPresent>
标记判断在页作用域中是否存在一个名为”bean”的bean,这个bean有一个prop属性。
第三类条件标记比较复杂,这些标记根据模板匹配的结果检查标记体的内容。
换句话说,这些标记判断一个指定项目的值是否是一个特定常数的子字符串:
<logic:match>
<logic:notMatch>
这些标记允许JSP引擎在发现了匹配或是没有发现时计算标记主体。
属性如下:
属性描述Cookie 要进行比较的HTTP cookie的名称Header 要进行比较的的HTTP标头的名称parameter 要进行比较的的HTTP请求参数的名称Name 若要对bean或bean的属性进行比较,这个属性是用户指定bean的名称location 如果设置了这个属性的值,将会在这个指定的位置(索引值)进行匹配scope 如果对bean进行比较,这个属性指定了bean的作用域。
如果没有设置这个参数,搜索范围是从页到应用程序作用域property 要进行比较的bean的属性名称value 要进行比较的常数值
例如:
<logic:match parameter=”name” value=”xyz” location=”1”>
The parameter name is a sub-string of the string xyz from index 1
</logic:match>
标记检查名为”name”的请求参数是否是”xyz”的子字符串,但是子字符串必须从”xyz”的索引位置1开始(也就是说子字符串必须是”y”或”yz”)。
如何修改Firefox的Accept-Language值
您好!很高兴为您答疑。
该设定可在火狐地址栏输入:about:config,然后关键字查找找到ept,可以看到ept_languages,修改即可。
如果对我们的回答存在任何疑问,欢迎继续问询。
IIS日志中head请求是什么意思
HEAD请求是HTTP协议中定义的向服务器发送请求的一种方式。
一个http请求或者响应一般由三部分组成:
1. 开始行(start line)
2. 头部(header)
3. 主体(Body)
其中,Header一般是由若干个形如 "name: value" 这样的键值对组成,每一个键值对以换行符分割。
header的作用是用来说明与http的请求或者响应的主体相关的属性。
例如下面的这个http的get请求,以加粗的斜体字标识的部分就是这个http请求的头部。
GET /notice/get/unreadcount?iswrap=0 HTTP/1.1
Host:
ept: application/json, text/javascript, */*; q=0.01
ept-Language: zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4
服务器接收到客户端发送的这个请求之后,会向发起请求的客户端发送响应。
如果客户端发送的是GET请求,那么服务器发送的HTTP响应就会包含start line,header和body三部分,比如上面的那个http请求的响应会是下面的内容:
HTTP/1.1 200 OK
Connection: keep-alive
Content-Type: application/json;charset=utf-8
Content-Length: 153
{"errno":0,"errmsg":"u5904u7406u6210u529f",system":0}}
其中没有加格式的第一行,是这个响应的start line,加粗部分是这个响应的header,最后一行的斜体部分是这个响应的主体的实体部分setRequestProperty()的用法,由里面参数介绍的
1.。
ept: image/gif, image/x-xbitmap, image/jpeg,
image/pjpeg, application/vnd.ms -powerpoint, application/vnd.ms- excel, application/msword, application/x- shockwave-flash, */*
ept-Language:
ept-Encoding: gzip, deflate
4.User-Agent: Mozilla/4.0 patible; MSIE 6.0; Windows NT 5.0; MyIE2; .NET CLR 1.1.4322)
5.Host: hyg
6.Connection: Keep-Alive
- acceptlanguagesetRequestProperty()的用法,由里面参数介绍的相关文档
云雀云(larkyun)当前主要运作国内线路的机器,最大提供1Gbps服务器,有云服务器(VDS)、也有独立服务器,对接国内、国外的效果都是相当靠谱的。此外,还有台湾hinet线路的动态云服务器和静态云服务器。当前,larkyun对广州移动二期正在搞优惠促销!官方网站:https://larkyun.top付款方式:支付宝、微信、USDT广移二期开售8折折扣码:56NZVE0YZN (试用于常州联...
hosthatch在做美国独立日促销,可能你会说这操作是不是晚了一个月?对,为了准备资源等,他们拖延到现在才有空,这次是针对自己全球14个数据中心的VPS。提前示警:各个数据中心的网络没有一个是针对中国直连的,都会绕道而且ping值比较高,想买的考虑清楚再说!官方网站:https://hosthatch.com所有VPS都基于KVM虚拟,支持PayPal在内的多种付款方式!芝加哥(大硬盘)VPS5...
hostkvm在2021年3月新上线洛杉矶新VPS业务,强制三网接入中国联通优化线路,是当前中美之间性价比最高、最火热的线路之一,性价比高、速度非常好,接近联通AS9929和电信AS4809的效果,带宽充裕,晚高峰也不爆炸。 官方网站:https://hostkvm.com 全场优惠码:2021(全场通用八折,终身码,长期) 美国 US-Plan0【三网联通优化线路】 内存:1G CPU:...
acceptlanguage为你推荐
cdn加速教程服务器只有内网ip 想要建站并且cdn加速 怎么实现呢游戏服务器租赁租用的服务器怎么运行我自己开发的游戏服务器端程序?大概需要多少资金?cnkuaid140819672711的货物到哪里了云服务厂商有没有人公司用了燕麦云啊,这个企业云盘,怎么样??公司现在要找云服务厂商,各种头疼!那好苏州哪些厂比较好?dc4阀门执行器输出DC4-20mA反馈信号给控制室显示阀位,但控制室接收反馈信号的系统自带DC24V,导致阀位不准ddos防御怎样防御DDOS攻击?云服务器和虚拟主机的区别服务器和主机有什么区别呀?vc9运行库下载求VC2005 VC2008运行库下载,最好是官方中文版,谢谢!最便宜的虚拟主机请教一个便宜的有信誉的虚拟主机提供商,高分求!!!!
国外主机空间 电信服务器租用 网站备案域名查询 已备案域名出售 lnmp koss 特价空间 主机屋免费空间 国外php空间 全能主机 建立邮箱 老左来了 共享主机 中国网通测速 paypal注册教程 支持外链的相册 国外视频网站有哪些 银盘服务 闪讯官网 服务器是干什么用的 更多