A. 怎么查看extjs filter的过滤
主要利用filter过滤掉未经登录而直接跳转到非登录访问页面。代码而言的话并不难,只是有几点问题需要注意一下。
1.使用filter需要配置web.xml,如果是/*那么在拦截后的页面会连带jsp页面里的js和css一并拦截住。
解决办法是jsp放在jsppage这个文件下,其他css、js并列。配置的时候就/jsppage/*。
还有个办法是在dofilter里面判断在request域拿到url,进行比对,然后过滤。
2.需要设置哪些页面是你不想拦截的【假设所有的页面都放在jsppage内】。
代码见下:
LoginFilert.java
public class LoginFilter extends HttpServlet implements Filter {
public void doFilter(ServletRequest sRequest, ServletResponse sResponse,
FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) sRequest;
HttpServletResponse response = (HttpServletResponse) sResponse;
HttpSession session = request.getSession();
String url = request.getServletPath();
String contextPath = request.getContextPath();
if (url.equals("")){
url += "/";
}
if ((url.startsWith("/") && !url.startsWith("/jspPage/login"))) {// 若访问后台资源
// 设置不需要过滤的页面
if (url.endsWith("about.jsp")) {
filterChain.doFilter(sRequest, sResponse);
return;
}
// 过滤到login
String admin = (String) session.getAttribute("admin_name");
if (admin == null) {// 转入管理员登陆页面
response.sendRedirect(contextPath + "/jspPage/login.jsp");
return;
}
}
filterChain.doFilter(sRequest, sResponse);
}
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
web.xml
loginFilter
util.LoginFilter
loginFilter
/jspPage/*
B. Extjs4 字符串转换
按照 _ 分割数组,每个元素使用toLowerCase进行处理大小写,然后再拼接。
C. Extjs.grid.Panel组件的筛选插件如何自定义中文的筛选提示文字menuFilterText和空字段文字提示信息
在本地化文件如ext-lang-zh_CN.js中加入:
Ext.define("Ext.locale.zh_CN.ux.grid.FiltersFeature",{
override:"Ext.ux.grid.FiltersFeature",
menuFilterText:"过滤专"
});
Ext.define("Ext.locale.zh_CN.ux.grid.filter.StringFilter",{
override:"Ext.ux.grid.filter.StringFilter",
emptyText:"请输入过属滤文本..."
});
D. ExtJs grid 如何实现按照每一列进行筛选
store 有一个 filter 方法。
store.filter(columnIndex, searchValue);
columnIndex - 要过滤的字段的 dataIndex
searchValue - 过滤条件
但是在数据庞大或者数据改动比较多的系专统里不建议属这么做。
本地过滤意味着第一次查询要查询所有的数据,这样会很慢。
再就是如果一直保持者第一次查询的数据的话,数据准确性也很低。
E. extjs4.1版本 treePanel树形表格列表增加锁定功能(lock)和查询过滤(filter)
刚查的api 有这个参数enableLocking
如果不能全量升级版本的话,可以考虑一下能不能单独升级这部分的代码,重写源码
F. extjs 如何输入时屏蔽特殊字符(如shift+数字键、单引号、双引号。逗号)。在线等待,急用
var tf= new Ext.form.TextField({
});
tf.on('render',function(){
tf.getEl().on('keyup',function(event){//因为有时候直接注册keyup事件注册不上所以要注册到El上
var v = tf.getValue();
v = v.replace(';','');//去掉你不想要的字符串
tf.setValue(v);
},this);
},this,{single:true});
如果有什么不明白的可以问。
G. Extjs combo怎么实现每次选择后就过滤掉这个值
combo里面有stroe,当选择时把所选的那条record remove掉,可以这样试试,我也没做过
H. extjs 如何输入时屏蔽特殊字符。在线等待,急用
extjs控件有个vtype属性,就是输入检查的
比如检查数字的:
numbers: function(v) {
return /^\d+$/.test(v);
},
numbersText: '必须是为正整数,请检查输入的合法的数字!', //输入错误时显示的信息
numbersMask: /[\d]/i, //这个就是输入时屏蔽特殊字符的,这里只接受整数,其他字符输不进去
I. extjs 截取字符串
a.substring(start,end);
试一下
b = a.substring(0,2);
c = a.substring(2,4);