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);