yxskkk
2009-03-27 16:59
浏览 251
已采纳

Extjs中怎么使用struts2的标签?

比如一下是一个Panel,里面的fieldLabel ,或者blankText ,msg 等我想用来代替,可以吗?

var login = new Ext.FormPanel({
labelWidth : 75,
monitorValid : true,
baseCls : 'x-plain',
defaults : {
width : 150
},
defaultType : 'textfield',

                        items : [{
                                      fieldLabel : '用户名',
                                      name : 'userName',
                                      allowBlank : false,
                                      blankText : '用户名不能为空!'
                                 }, {
                                      inputType : 'password',
                                      fieldLabel : '密码',
                                      name : 'password',
                                      allowBlank : false,
                                      blankText : '密码不能为空!'
                                 }],

                        buttons : [{
                             text : '登录',
                             formBind : true,
                             type : 'submit',
                             handler : function() {
                                  Ext.MessageBox.show({
                                                title : '系统提示',
                                                msg : '正在登录,请稍候...',
                                                progressText : '',
                                                width : 300,
                                                progress : true,
                                                closable : false,
                                                animEl : 'loading'
                                           });
                                  var f = function(v) {
                                       return function() {
                                           var i = v / 11;
                                           Ext.MessageBox.updateProgress(i, '');
                                       };
                                  };

                                  for (var i = 1; i < 12; i++) {
                                      setTimeout(f(i), i * 150);
                                  }
                                  login.form.doAction('submit', {
                                                url : 'Login.action',
                                                method : 'post',
                                                params : '',
                                       success : function(form, action) {
                                            if (action.result.msg == 'ok') {
                                                window.location = 'List.jsp';
                                            } else {
                                                Ext.Msg.alert('登录失败',action.result.msg);
                                            }
                                        },
                                        failure:function(form, action){ 
                                            if(action.failureType == 'server'){ 
                                                obj = Ext.util.JSON.decode(action.response.responseText); 
                                                Ext.Msg.alert('登录失败', obj.errors.reason,function() {form.findField('userName').focus();}); 
                                            }else if(action.failureType=="connect"){   
                                                Ext.Msg.alert('服务器异常', '连接请求失败,请与管理员联系!');  
                                            }else if(action.failureType=="client") {
                                                Ext.Msg.alert('客户端异常', '客户端的数据异常,请与管理员联系!');  
                                            }else{ 
                                                Ext.Msg.alert('Warning!', '^^Authentication server is unreachable : ' + action.response.responseText); 
                                            } 
                                        }
                                   });
                             }
                        }, {
                             text : '取消',
                             handler : function() {
                                 login.form.reset();
                             }// 重置表单
                        }]
                   });

[b]问题补充:[/b]
但我试了,打不出来,是空的。。
[b]问题补充:[/b]
忘记说个问题,这些js是单独提出来在一个*.js文件里的,
jsp中加了<%@ taglib prefix="s" uri="/struts-tags"%>这句话
为什么不好用呢?
[b]问题补充:[/b]
extjs有他自己的国际化方式.请使用正确的方法

什么方法?可以说出来吗?
[b]问题补充:[/b]
我的意思不是extjs本身的国际化,而是写在extjs里面自己的语言的国际化
[b]问题补充:[/b]
但感觉很乱啊,提出来的话jsp就好多了。。
[b]问题补充:[/b]
有没有可能把javascript提出到*.js文件里面,然后做国际化呢?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • 马勒格彼得 2009-03-30 09:58
    已采纳

    你觉得你的JAVA代码能在JS文件里面识别吗?
    编译都不能通过的,不过你可以多建几个JSP,使用INCLUDE引入,这样应该可以了吧

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • iampurse 2009-03-27 17:04

    没用过ext,但是可以很负责的告诉你。
    如果你这些代码是用

    包起来的。
    而且是在jsp中,就可以在js中使用任何标签。
    他都会动态的解析成字符串。

    评论
    解决 无用
    打赏 举报
  • 马勒格彼得 2009-03-27 17:25

    我可以很负责任的告诉你可以用,而且没什么要求,语法和你在JSP里面用是一样的,在由JSP生成HTML的过程中,所有的JSP都会被编译,解析,然后变成数据显示出来,所以没什么问题的,我以前就用过

    评论
    解决 无用
    打赏 举报
  • 马勒格彼得 2009-03-27 17:33

    看看你在JSP里面可以取出来吗?如果可以的话,那说明是程序的问题了,你最好不要加引号,直接使用blankText:

    评论
    解决 无用
    打赏 举报
  • 马勒格彼得 2009-03-27 17:34

    单独出来就不能用了,必须要放在JSP里面才行,这是基本的语法

    评论
    解决 无用
    打赏 举报
  • iampurse 2009-03-27 19:22

    当然单独出来就不能用了,
    jsp中为什么能有java句子?
    就是因为他把这些java句子解析成了String然后输出成为html。

    同理js中也是一样的 只要碰到他的解析语法能解析的,
    他都把他解析成string。

    而你放在js文件中自然就不行了,
    他不会去解析,只是当作引用直接拷贝进来。

    所以不要单独放在js文件里头。

    评论
    解决 无用
    打赏 举报
  • zhoujuan520 2009-03-27 21:07

    extjs有他自己的国际化方式.请使用正确的方法

    评论
    解决 无用
    打赏 举报
  • 马勒格彼得 2009-03-30 09:03

    ext的国际化方式就是通过引入locale文件下面的ext-lang-语言.js来实现国际化的
    需要动态的切换

    评论
    解决 无用
    打赏 举报
  • 马勒格彼得 2009-03-30 09:35

    如果这些脚本在JSP里面,就可以在里面使用你自己写的,就像是在JSP里面使用一样,没什么区别,不要放在js里面,否则标签无法识别</p>

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题