起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4989|回复: 16

[结贴] 纯新手,急求解 wex5中怎么把servlet中查的数据库数据放到前台的input只读框中

[复制链接]

10

主题

59

帖子

73

积分

初级会员

Rank: 2

积分
73
QQ
发表于 2015-11-17 13:46:45 | 显示全部楼层 |阅读模式
.w
<div bind-visible="shouldShowMessage">
          <div component="$UI/system/components/justep/row/row" class="x-row"
            xid="row2" style="padding:0;margin-right:auto;margin-left:auto;width:92%;">
            <div  class="form-group" style=";margin-right:auto;margin-left:auto;width:100%;">
              <input component="$UI/system/components/justep/input/input" class="form-control"
                xid="input1" placeHolder="请确认区" autoFocus="true" readonly="true" bind-ref="userData.ref('input1')"/>
            </div>  
            <div  class="form-group" style="padding:0;width:100%;height:100%;">
              <input component="$UI/system/components/justep/input/input" class="form-control"
                xid="input2" placeHolder="请确认栋" autoFocus="true" readonly="true"/>
            </div>
            <div  class="form-group" style="padding:0;width:100%;height:100%;">
              <input component="$UI/system/components/justep/input/input" class="form-control"
                xid="input3" placeHolder="请确认房号" autoFocus="true" readonly="true"/>
            </div>
          </div>  

10

主题

59

帖子

73

积分

初级会员

Rank: 2

积分
73
QQ
 楼主| 发表于 2015-11-17 13:57:39 | 显示全部楼层
servlet

//用户登录认证
                private static void queryUser(ServletRequest request , ServletResponse response) throws SQLException,IOException,NamingException {
               
                JSONObject params=(JSONObject) JSONObject.parse(request.getParameter("params"));
                //Object columns = params.get("columns");
                //Integer limit =params.getInteger("limit");
                //Integer offset =params.getInteger("offset");
                String tid = params.getString("tid");
                String pass = params.getString("pass");
                //String input1 =params.getString("input1");
                //String input2 =params.getString("input2");
                //String input3 =params.getString("input3");
               
                System.out.println("tid++++++++++"+tid);
                //System.out.println("input1++++++++++"+input1);
                //System.out.println("input2++++++++++"+input2);
                //System.out.println("input3++++++++++"+input3);
                System.out.println("pass++++++++++"+pass);
            
                 List<Object> sqlParams = new ArrayList<Object>();
                 sqlParams.add(tid);
                 sqlParams.add(pass);
                 //sqlParams.add(input1);
                 //sqlParams.add(input2);
                 //sqlParams.add(input3);
                 //String sqlWhere = " WHERE a.pass = ? ";
             String sql = " select pass from textx  " ;
                               // +sqlWhere;
             Table table = null;
               Connection conn = Util.getConnection(DATASOURCE_NANYUAN);
             try {
                     table = Util.queryData(conn, sql, sqlParams, null, null, null);
                } finally {
                        conn.close();
                }
                Util.writeTableToResponse(response, table);               
        }

        private static void saveUser(ServletRequest request, ServletResponse response) throws ParseException, SQLException, NamingException {
                // 参数序列化
                JSONObject params = (JSONObject) JSONObject.parse(request.getParameter("params"));
                // 获取参数
               
                /*String username=params.getString("username");
                String pass=params.getString("pass");
                String role=params.getString("role");
                String userid=params.getString("userid");*/
                JSONObject userData = params.getJSONObject("userData");
                Connection conn = Util.getConnection(DATASOURCE_NANYUAN);
                try {
                        conn.setAutoCommit(false);
                        try {
                                  
                                        Table userTable = Transform.jsonToTable(userData);
                               
                          //Table  userTable = Transform.resultSetToTable();
                                        Util.saveData(conn, userTable,TABLE_NANYUAN_USER);
                                        System.out.println("----------userTable----------");
                               
                                conn.commit();
                        } catch (SQLException e) {
                                conn.rollback();//回调
                                throw e;
                        }
                } finally {
                        conn.close();
                }
        }


这个改怎么改的,求解
回复 支持 反对

使用道具 举报

发表于 2015-11-17 13:58:08 | 显示全部楼层
请问你使用的是baas查询返回的数据吗?如果是,就将数据加载到data组件中,然后input的bind-ref绑定这个字段就可以了!就像你设置那样!
另外控制数据的只读!可以设置data组件的编辑规则!设置只读规则true即可!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

10

主题

59

帖子

73

积分

初级会员

Rank: 2

积分
73
QQ
 楼主| 发表于 2015-11-17 14:01:00 | 显示全部楼层
liangyongfei 发表于 2015-11-17 13:58
请问你使用的是baas查询返回的数据吗?如果是,就将数据加载到data组件中,然后input的bind-ref绑定这个字 ...

在input里我设了bind-ref="userData.ref('input1')"  readonly="true" 我想里面出现值,不知道怎么办,我是纯新手,底子也不好,求助
回复 支持 反对

使用道具 举报

发表于 2015-11-17 14:11:05 | 显示全部楼层
linai486 发表于 2015-11-17 14:01
在input里我设了bind-ref="userData.ref('input1')"  readonly="true" 我想里面出现值,不知道怎么办,我 ...

你要确保userData这个data组件中有数据!接管onCustomRefresh事件,将后台返回的数据加载到data组件中就可以了!可以参考:/UI2/demo/baas/simpleData/index.w
看看它的数据是怎样获取的!
最后可以使用data.count()方法获取data组件中存放了几条数据了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

10

主题

59

帖子

73

积分

初级会员

Rank: 2

积分
73
QQ
 楼主| 发表于 2015-11-17 14:12:23 | 显示全部楼层
.w
Model.prototype.btnCheckUserLogin = function(event) {
                var self = this;
                var tid = this.comp('tid').val();
                var pass = this.comp('pass').val();
                var userData = this.comp("userData");

                alert(tid);
                alert(pass);
                /*
                 * alert(pass); alert($.md5(pass));
                 */
                // 用户名和密码为空提示
                if ($.trim(this.comp('tid').val()) === "" || $.trim(this.comp('pass').val()) === "" ) {
                        this.comp("messageDialog").show({
                                "title" : "温馨提示",
                                "message" : "请填写完整的用户信息!"
                        });
                } else {
               
                        var params = {
                                // "userData" : userData.toJson(true),
                                "tid" : this.comp('tid').val(),
                                "pass" : this.comp('pass').val(),
                                "input1" : this.comp('input1').val(),
                                "input2" : this.comp('input2').val(),
                                "input3" : this.comp('input3').val()
                        };
                        // 请求成功后的回调方法
                        var success = function(resultData) {
                                userData.loadData(resultData);
                                userData.refreshData();
                                alert("tid++++" + userData.val('tid'));
                                alert("pass++++" + userData.val('pass'));
                                alert("input1++++" + userData.val('input1'));
                                alert("input2++++" + userData.val('input2'));
                                alert("input3++++" + userData.val('input3'));

                                if (userData.val('tid') && userData.val('pass') ) {
                                        localStorage.setItem('tid', userData.val('tid'));
                                        localStorage.setItem('pass', pass);

                                                                if (self.comp('toggle1').val() === true) // 如果记住密码选中,登录成功则将用户名和密码保存到localStorage中
                                                                {
                                                                        localStorage.setItem('un', userData.val('tid'));
                                                                        localStorage.setItem('pw', userData.val('pass'));
                                                                        localStorage.setItem('remeberMe', true);
                                                                } else // 否则不存储localStorage
                                                                {
                                                                        localStorage.removeItem("tid");
                                                                        localStorage.removeItem("pw");
                                                                        localStorage.removeItem('remeberMe');
                                                                }

                                                                window.location.href = "http://localhost:8081/x5/UI2/nanyuan/pageO.w"; // 登录成功,跳转到首页

                                } else {
                                        self.comp("messageDialog").show({
                                                "title" : "温馨提示",
                                                "message" : "输入的用户信息错误!"
                                        });
                                }
                        };
                        // 发送请求
                        Baas.sendRequest({
                                "url" : "/login", // servlet请求地址
                                "action" : "queryUser", // action
                                "params" : params, // action对应的参数
                                "success" : success
                        // 请求成功后的回调方法
                        });

                }

        };

        Model.prototype.model1Load = function(event) {
                if (localStorage.getItem('remeberMe')) {
                        var tid = localStorage.getItem('un');
                        var pass = localStorage.getItem('pw');
                        var input1 = localStorage.getItem('input1');
                        var input2 = localStorage.getItem('input2');
                        var input3 = localStorage.getItem('input3');
                        this.comp("tid").set({
                                value : tid
                        });
                        this.comp("pass").set({
                                value : pass
                        });
                        this.comp("input1").set({
                                value : input1
                        });
                        this.comp("input2").set({
                                value : input2
                        });
                        this.comp("input3").set({
                                value : input3
                        });
                        this.comp("toggle1").set({
                                value : true
                        });
                }
        };

改怎么改,在只读的input才会查出值。新人,且底子差,求指导
回复 支持 反对

使用道具 举报

发表于 2015-11-17 14:20:51 | 显示全部楼层
linai486 发表于 2015-11-17 14:12
.w
Model.prototype.btnCheckUserLogin = function(event) {
                var self = this;

我都说过了!只要data组件中有数据了!且input绑定了data的字段 !就可以显示!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

10

主题

59

帖子

73

积分

初级会员

Rank: 2

积分
73
QQ
 楼主| 发表于 2015-11-17 14:29:25 | 显示全部楼层
liangyongfei 发表于 2015-11-17 14:20
我都说过了!只要data组件中有数据了!且input绑定了data的字段 !就可以显示! ...

我的这个运行到servlet报错。运行不完,所以看不到是否成功
回复 支持 反对

使用道具 举报

发表于 2015-11-17 14:39:49 | 显示全部楼层
linai486 发表于 2015-11-17 14:29
我的这个运行到servlet报错。运行不完,所以看不到是否成功

报什么错!那你就要打断点调试,保证运行正常啊!
baas的案例都可以参考!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

10

主题

59

帖子

73

积分

初级会员

Rank: 2

积分
73
QQ
 楼主| 发表于 2015-11-17 14:42:09 | 显示全部楼层
liangyongfei 发表于 2015-11-17 14:39
报什么错!那你就要打断点调试,保证运行正常啊!
baas的案例都可以参考! ...

可不可以帮我看看我的sql语句是不是错了,我上网上查,一直报No parameters defined during prepareCall()
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-19 17:54 , Processed in 0.076351 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表