struts2+json+Extjs

  • js中这样写

var buildStore = new Ext.data.JsonStore({// 根据id,name动态读取
                    fields : ['key', 'value'],
                    proxy : {
                        type : 'ajax',
                        url : '../login/loginAction!getBuildList.action',
                        method : 'post',

                        totalProperty:10,
                        reader : {
                            root : 'data' //根目录
                        }
                    },
                    
                    autoLoad : true
                });

  • struts.xml中这样写

    就是返回的result的类型是json

<package name="login_struts2" namespace="/login" extends="json-default">
        <action name="loginAction" class="com.fun.loginAction">
            <result type="json" />
        </action>

</package>

  • java中这样写

action中的方法返回的是string类型,其中得到HttpServletResponse对象,调用这个方法设置setContentType("text/json;charset=utf-8");内容,

然后map对象里添加数据"data":list数据,往里map里面添加一个success是true或者false的健值对对象,

创建JSONObject对象,调用JSONObject对象的putAll方法,将map添加进去,

调用response对象的getWrite())的write()参数是json字符串。

假如是健值对的字符串在java中需要添加转移字符斜杠\

JSONObject obj = new JSONObject();
        obj.putAll(map);
        jsonString = obj.toString();//将json对象转为json字符串,将json字符串转json对象是JSONObject.fromObject(object)方法。


        try {
            response.getWriter().write(jsonString);

在js页面中通过eval()方法得到json字符串,eval()方法自动执行javascript代码,假如是字符串的话得加()

public String getBuildList() throws Exception{

        return “”//是一个json字符串{"name":"value","name":"value"}

totalProperty:这里指的是查询出来的条数,也是由服务器传递过来

package com.fun.excel;

import java.io.OutputStream;

import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFHeader;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

/**
 * @author Administrator 导出Excel
 */
@SuppressWarnings("serial")
public class ExcelAction extends ActionSupport {

    @SuppressWarnings("deprecation")
    @Override
    public String execute() throws Exception {
        // 获取问题列表
        // Map map = new HashMap();
        // List<Suggestion> targetStockList =
        // suggestionService.getSuggestionList(map);
        //         
        // //创建一个新的Excel
        HSSFWorkbook workBook = new HSSFWorkbook();
        // //创建sheet页
        HSSFSheet sheet = workBook.createSheet();
        // //sheet页名称
        workBook.setSheetName(0, "targetStockList");
        // //创建header页
        HSSFHeader header = sheet.getHeader();
        // //设置标题居中
        header.setCenter("标题");
        //                
        // 设置第一行为Header
        HSSFRow row = sheet.createRow(0);
        HSSFCell cell0 = row.createCell(Short.valueOf("0"));
        HSSFCell cell1 = row.createCell(Short.valueOf("1"));
        HSSFCell cell2 = row.createCell(Short.valueOf("2"));

        // 设置字符集
//        cell0.setEncoding(HSSFCell.ENCODING_UTF_16);
//        cell1.setEncoding(HSSFCell.ENCODING_UTF_16);
//        cell2.setEncoding(HSSFCell.ENCODING_UTF_16);

        cell0.setCellValue("问题标题");
        cell1.setCellValue("问题描述");
        cell2.setCellValue("反馈时间");
        //            
        //                
        // if(targetStockList != null && !targetStockList.isEmpty()) {
        // for(int i = 0; i < targetStockList.size(); i++) {
        // Suggestion targetStock = targetStockList.get(i);
        // row = sheet.createRow(i + 1);
        // cell0 = row.createCell(Short.valueOf("0"));
        // cell1 = row.createCell(Short.valueOf("1"));
        // cell2 = row.createCell(Short.valueOf("2"));
        //
        //                        
        // // 设置字符集
        // cell0.setEncoding(HSSFCell.ENCODING_UTF_16);
        // cell1.setEncoding(HSSFCell.ENCODING_UTF_16);
        // cell2.setEncoding(HSSFCell.ENCODING_UTF_16);
        //
        //                        
        // cell0.setCellValue(targetStock.getType());
        // cell1.setCellValue(targetStock.getContent());
        // cell2.setCellValue(targetStock.getPublishTime());
        //             
        //         
        //                        
        // sheet.setColumnWidth((short) 0, (short) 4000);
        // sheet.setColumnWidth((short) 1, (short) 4000);
        // sheet.setColumnWidth((short) 2, (short) 4000);
        // }
        // }
        //                
        HttpServletResponse response = (HttpServletResponse) ActionContext
                .getContext().get(
                        org.apache.struts2.StrutsStatics.HTTP_RESPONSE);
        // 通过Response把数据以Excel格式保存
        response.reset();
        response.setContentType("application/msexcel;charset=UTF-8");
        try {
            response.addHeader("Content-Disposition", "attachment;filename=\""
                    + new String(("用户意见信息表" + ".xls").getBytes("GBK"),
                            "ISO8859_1") + "\"");
            OutputStream out = response.getOutputStream();
            workBook.write(out);
            out.flush();
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;

    }

}
 

// //创建一个新的Excel
        HSSFWorkbook workBook = new HSSFWorkbook();
        // //创建sheet页
        HSSFSheet sheet = workBook.createSheet();
        // //sheet页名称
        workBook.setSheetName(0, "targetStockList");
        // //创建header页
        HSSFHeader header = sheet.getHeader();
        // //设置标题居中
        header.setCenter("标题");
        //                
        // 设置第一行为Header
        HSSFRow row = sheet.createRow(0);
        HSSFCell cell0 = row.createCell(Short.valueOf("0"));
        HSSFCell cell1 = row.createCell(Short.valueOf("1"));
        HSSFCell cell2 = row.createCell(Short.valueOf("2"));
 

ext中密码确认        

var password = new Ext.form.TextField({
                            name : "TSMA05",
                            id : 'pass',
                            fieldLabel : "请输入新密码",
                            inputType : 'password',
                            width : 250
                        });
                var repassword = new Ext.form.TextField({
                            name : "TSMA05",
                            style : 'margin-top:20px',
                            fieldLabel : "请确认新密码",
                            inputType : 'password',
                            allowBlank : false,
                            vtype : 'password',
                            msgTarget : 'under',
                            initialPassField : 'pass',
                            width : 250,
                            autoFitErrors : true
                        });

                Ext.apply(Ext.form.VTypes, {
                            password : function(val, field) {
                                if (field.initialPassField) {
                                    var pwd = Ext
                                            .getCmp(field.initialPassField);
                                    return (val == pwd.getValue());
                                }
                                return true;
                            },
                            passwordText : '两次输入密码不一致'
                        });

 

leaf : true 代表菜单没有子菜单

{
                    text : '控制回路基本信息维护',
                    id : 'dc13',
                    icon : MyIcon,
                    hideHeaders : false,
                    children : [{
                                text : '网关基本信息设定',
                                id : 'dc13a',
                                icon : MyIcon,
                                leaf : true
                            }, {
                                text : '回路控制器基本信息设定',
                                icon : MyIcon,
                                id : 'dc13b',
                                leaf : true
                            }, {
                                text : '控制回路基本信息设定',
                                id : 'dc13c',
                                icon : MyIcon,
                                leaf : true
                            }]
                }

转载于:https://my.oschina.net/ldm95/blog/889407

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值