个人技术

元素属性

XAML是一种声明性语言,XAML编译器会为每一个标签创建一个与之对应的对象。对象创建出来之后要对它的属性进行必要的初始化之后才有使用意义。
因为XAML语言不能写程序运行逻辑,所以一份XAML文档除了使用标签声明对象,另外一个功能就是初始化对象的属性了。
在XAML中为对象属性赋值共有两种方法:
• 使用字符串进行简单赋值;
• 使用属性元素进行复杂赋值。

使用标签的Attribute为对象属性赋值

我们已经知道,标签中的Attribute里面有一部分与对象的Property互相呼应。
我们首先学习使用字符串对Attribute进行简单赋值,将Rectangle填充成单一的颜色。

<Rectangle Name="Myrectangle"Width=“100” Height=“100” Fill=“Aqua”>

在XAML编译器中,“Aqua” 这个字符串被翻译成了一个SolidColorBrush对象并赋值给了Myrectangle对象。翻译成C#代码就是:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
SolidColorBrushcolorBrush = new SolidColorBrush();
colorBrush.Color =Colors.Aqua;
Myrectangle.Fill =colorBrush;
}

3、使用TypeConverter类进行属性映射
在上面的例子中我们使用Attribute=Value语法赋值时,由于XAML语法限制,Value只能是一个字符串值。那么就会引发两个问题:
• 如果一个类能使用XAML语言进行声明,并允许它的Property与XAML标签的Attribute互相映射,那么就需要为这个类的Property准备适当的转换机制。
• 由于Value是一个字符串,所以其格式复杂程度有限。面对格式复杂的字符串就难以满足赋值需求。
我们举一个简单的栗子来演示第一个问题:下面的代码XAML编译器会给我们提示无法将字符串转换成Huamn类型。
<Window.Resources> <my:Human x:Key=“human” Child=“DSA” /></Window.Resources>

JSP过滤器

Servlet和JSP中的过滤器都是Java类,它们存在的目的如下:
在请求访问后端资源时拦截它;
管理从服务器返回给客户端的响应

过滤器有多种常用的类型:
认证过滤器
数据压缩过滤器
加密过滤器
触发资源访问事件的过滤器
图像转换过滤器
登录和验证过滤器
MIME类型链过滤器
令牌过滤器
转换XML内容的XSL/T过滤器

过滤器将会被插入进web.xml文件中,然后映射servlet、JSP文件的名字,或URL模式。部署描述文件web.xml可以在\conf 目录下找到。
当JSP容器启动网络应用程序时,它会创建每一个过滤器的实例,这些过滤器必须在部署描述文件web.xml中声明,并且按声明的顺序执行。

Servlet过滤器方法

一个过滤器就是一个Java类,它实现了javax.servlet.Filter 接口。javax.servlet.Filter接口定义了三个方法:
1、public void doFilter(ServletRequest, ServletResponse, FilterChain)每当request/response要通过过滤链时容器会调用这个方法,因为客户端请求链尾的资源
2、public voidinit(FilterConfig filterConfig)容器调用这个方法来表明一个过滤器被安置在服务中
3、public void destroy()容器调用这个方法来表明一个过滤器正在从服务中移除

web.xml文件中的JSP过滤器映射
过滤器被定义,然后映射成一个URL或JSP文件名,与servlet被定义然后映射的方式差不多。在部署描述文件web.xml中,使用标签来进行过滤器映射:

使用多重过滤器
网络应用程序可以定义很多不同的过滤器。现在定义了两个过滤器,AuthenFilter和LogFilter,要创建一个不同的映射

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值