filter过滤器返回数据
㈠ Filter过滤器中指定过滤内容怎么配置
你的问题好像是只需要Filter处理jsp的请求,只要改web.xml里Filter配置就可以。url-pattern别给/*,给/.jsp,如果回需要过滤多种文件答请求,可以再增加filter-mapping,每个的url-pattern对应一种文件。
<filter-mapping>
<filter-name></filter-name>
<url-pattern></url-pattern>
</filter-mapping>
㈡ angularjs内置过滤器filter能不能获取过滤后的数据
AngularJS的内置过滤器使用方法:
一个过滤器,不带参数的情况
{{expression | filter}}
一个过滤器,带参数的情况
{{expression | filter:arguments}}
一个过滤器,带多个参数的情况
{{expression | filter: arg1: arg2: ...}}
多个过滤器,不带参数的情况
{{expression | filter1 | filter2 | ...}}
分别使用以下AngularJS的内置过滤器
currency
currency允许我们设置自己的货币符号,默认情况下会采用客户端所处区域的货币符号。
可以这样使用:{{ 3600 | currency: "$¥"}}
返回结果为$¥123.00
online code点击预览
number
number过滤器将数字格式化成文本,它的参数是可选的,用来控制小数点后的截取位数
如果传入的是一个非数字字符,会返回空字符串
可以这样使用:{{ 3600 | number:2}}
返回结果为:3,600.00
online code点击预览
lowercase
lowercase将字符串转换为小写
可以这样使用:{{ "HEllo" | lowercase}}
返回结果为:hello
online code点击预览
uppercase
uppercase将字符串转换为大写
可以这样使用:{{ "HEllo" | uppercase}}
返回结果为:HELLO
online code点击预览
json
json过滤器可以将一个JSON或者JavaScript对象转换成字符串。
这个过滤器对调试相当有用
可以这样使用:{{ {"name":"dreamapple","language":"AngularJS"} | json}}
返回结果为:{ "name": "dreamapple", "language": "AngularJS" }
online code点击预览
date
date过滤器将日期过滤成你想要的格式,这个实在是很好的过滤器。
这个过滤器用法很多我这里列举几种常用的
{{ today | date: "yyyy - mm - dd"}}
结果为:2015 - 15 - 13
{{ today | date: "yyyy - mm - dd HH:mm::ss"}}
结果为:2015 - 18 - 13 20:18::38
[online code](2015 - 18 - 13 20:18::38)
㈢ java中的每一个filter过滤器是不是对每一次的请求和响应都会执行过滤
/*的话肯定是每次都进,不过具体看你对过滤器配置的范围,你可以在过滤器中打个断点,然后访问,看它进不进这个断点就知道了!
㈣ filter过滤器如何获得值
按你的配置,<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Filter机制就是过滤所有的请求,你的loginservlet请求处理前,肯定先经过过滤器版的处理,str当然输出时权null。
解决方法:
修改url-pattern,不拦截loginservlet;
或者:重写doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2)方法,
在if--else逻辑中,注意在合适的位置调用 arg2.doFilter(arg0, arg1)方法允许loginservlet请求正常执行,过滤其他请求。
㈤ 如何在过滤器Filter.java中获取jsp页面文本框的值
1、在Jsp页面将文本框输入域放在html表单form之中提交
2、后台定义一个过滤器继承Filter.java
3、在过滤器中的doFilter方法中,将参数ServletRequest转化为HttpServletRequest
4、利用HttpServletRequest.getParameter();方法即可获取对应输入域的value值。
示例:
在Jsp页面:
<form>
<input type="text" name="username" value="zhangsan"/>
</form>
后台过滤器:
public class TestFilter implements Filter{
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain filter) throws IOException, ServletException {
HttpServletRequest res = (HttpServletRequest) request;
//获取页面的username输入框的值
String username = request.getParameter("username");
return;
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}
㈥ java 前端访问后台 , filter 过滤器用 request 跳转回index页面为什么又进了一次 doFilter
我猜到的是一种场景,你的页面里面有两个其他的资源,比如.js .css等,这俩的路由也在你的过滤器范围内,所以就也近如filter了
㈦ filter过滤器需要调用吗
在AngularJS的世界里,filter提供了一种格式化数据的方法,Angular也提供给我们了很多内建的过滤器,并且建立自定义过滤器也是相当的简单
在HTML的模板绑定{{}}中,我们使用 | 来调用过滤器,比如,我们想让字符串全部大写字符显示:
{{ name | uppercase }}
当然了,我们也可以在JavaScript中使用$filter服务来调用过滤器,还拿字符串大写来举例:
app.controller('DemoController', ['$scope', '$filter', function($scope, $filter) { $scope.name = $filter('lowercase')('Ari'); }]);
如何传递参数到filter呢?只需要把参数放在filter之后,中间加个冒号(如果有多个参数要传递,在每个参数后加上冒号)比如,数字过滤器可以帮助我们限制数字的位数,如果想显示两位小数,加上number:2就可以了
{{ 123.456789 | number:2 }}
filter过滤器主要用来过滤一个数组数据并返回一个包含子数组数据的新数组。
比如,在客户端搜索时,我们可以快速的从数组中过滤出我们想要的结果。
这个filter方法接收一个string,object,或者function参数用来选择/移除数组元素。
下满我们具体来看:
一,内置的过滤器
1,uppercase,lowercase大小转换
{{ "lower cap string" | uppercase }} //结果:LOWER CAP STRING {{ "TANK is GOOD" | lowercase }} //结果:tank is good
|这里的竖线是一种管道功能,如果对linux比较熟悉的话,这块的|根linux的管道功能,基本是一样的2,json格式化
{{ {foo: "bar", baz: 23} | json }} //结果:{ "foo": "bar", "baz": 23 }
注意:bza没格式前是没有双引号的,格式化后就转换成了json数据了。
3,date格式化
mysql时间戳 ng-bind="message.time * 1000 | date:'yyyy-mm-dd'"
{{ 1304375948024 | date:'medium'}} //May 03, 2011 06:39:08 PM {{ 1304375948024 | date }} //结果:May 3, 2011 {{ 1304375948024 | date:"MM/dd/yyyy @ h:mma" }} //结果:05/03/2011 @ 6:39AM {{ 1304375948024 | date:"yyyy-MM-dd hh:mm:ss" }} //结果:2011-05-03 06:39:08
4,number格式化
{{ 1.234567 | number:1 }} //结果:1.2 {{ 1234567 | number }} //结果:1,234,567
5,currency货币格式化
{{ 250 | currency }} //结果:$250.00 {{ 250 | currency:"RMB ¥ " }} //结果:RMB ¥ 250.00
6,filter查找 只能查value,不能查key
{{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | filter:'s'}} //查找含有有s的行 //上例结果:[{"age":12,"id":11,"name":"sunm xing"},{"age":44,"id":12,"name":"test abc"}] {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | filter:{'name':'ip'} }} //查找name like ip的行 //上例结果:[{"age":20,"id":10,"name":"iphone"}] $filter('number')(30000, 2); var jsonString = $filter('json')({"age":12,"id":11,"name":"sunm xing"},{"age":44,"id":12,"name":"test abc"}])
7,limitTo字符串,对像的截取
{{ "i love tank" | limitTo:6 }} //结果:i love {{ "i love tank" | limitTo:-4 }} //结果:tank {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | limitTo:1 }} //结果:[{"age":20,"id":10,"name":"iphone"}]
8,orderBy对像排序
{{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | orderBy:'id':true }} //根id降序排 {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | orderBy:'id' }} //根据id升序排 {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | orderBy:['-age','name'] }}
二,自定filter功能
filter的自定义方式也很简单,使用mole的filter方法,返回一个函数,该函数接收输入值,并返回处理后的结果。
app.filter('过滤器名称',function(){ return function(需要过滤的对象,过滤器参数1,过滤器参数2,...){ //...做一些事情 return 处理后的对象; } });
我找了一个基本angularjs的mvc框架,phonecat,自定义filter也是在这基础写的,这个框架挺好用的。
filters.js添加一个mole
angular.mole('tanktest', []).filter('tankreplace', function() { return function(input) { return input.replace(/tank/, "=====") }; });
html中调用
{{ "TANK is GOOD" | lowercase |tankreplace}} //结果:===== is good
注意:| lowercase |tankreplace管道命令可以有多个
yourApp.filter('orderObjectBy', function() { return function(items, field, reverse) { var filtered = []; angular.forEach(items, function(item) { filtered.push(item); }); filtered.sort(function (a, b) { return (a[field] > b[field] ? 1 : -1); }); if(reverse) filtered.reverse(); return filtered; }; });
该过滤器将对象转换成标准的数组并把它通过您指定字段排序。您可以使用orderObjectBy过滤器酷似ORDERBY,包括字段名后一个布尔值,以指定的顺序是否应该得到扭转。换句话说,假的是升序,真正的下降。html调用
<li ng-repeat="item in items | orderObjectBy:'color':true">{{ item.color }}</li>
排序搜索
<input type="text" ng-model="search" class="form-control" placeholder="Search"> <thead> <tr> <!-- ng-class="{dropup:true}" --> <th ng-click="changeOrder('id')" ng-class="{dropup: order === ''}"> 产品编号 <span ng-class="{orderColor: orderType === 'id'}" class="caret"></span> </th> <th ng-click="changeOrder('name')" ng-class="{dropup: order === ''}"> 产品名称 <span ng-class="{orderColor: orderType === 'name'}" class="caret"></span> </th> <th ng-click="changeOrder('price')" ng-class="{dropup: order === ''}"> 产品价格 <span ng-class="{orderColor: orderType === 'price'}" class="caret"></span> </th> </tr> </thead> <tbody> <tr ng-repeat="item in proctData | filter: search | orderBy:order + orderType"> <td>{{item.id}}</td> <td>{{item.name}}</td> <td>{{item.price | currency: '¥'}}</td> </tr> </tbody>
angularjs
//默认排序字段 $scope.orderType = 'id'; $scope.order = '-'; $scope.changeOrder = function(type) { console.log(type); $scope.orderType = type; if ($scope.order === '') { $scope.order = '-'; }else{ $scope.order = ''; } }
㈧ java 中 使用Filter过滤器 如何获取URL中的数据,具体如下:
不知道你说的是什么意思,你可以吧数据加在url上一起发送,在filter中用request.getParameter(“数据名称”)获得,request要转为HttpServletRequest
㈨ springmvc返回json数据 如何在filter中获取的返回参数
filter在你调用/noaccess接口之前执行了,当然没有retMsg了
㈩ java filter过滤器
解决方法很多 数据库加字段 做登录标识 或者把登录用户的用户名写入 ServletContext 登录验证时 当用户名与密码都正确时ServletContext context = this.getServletContext();
if(context.getAttribute("username")!=null && context.getAttribute("username").equals(user.getUsername())){
out.print("<html><head><title>用户已登录</title></head><body><p>用户已登录</p><br/><p>5秒钟后跳回登录页,如果没有跳转,请点击 <a href = 'login.jsp'>这里</a></p></body></html>");
response.setHeader("refresh", "3;url=login.jsp");
out.close();
return;
}
context.setAttribute("username",user.getUsername());
session.setAttribute("user", user);