checkbox、group_concat和error

来源:互联网 发布:淘宝价格趋势app 编辑:程序博客网 时间:2024/06/06 01:33

checkbox、group_concat和error

 

 

 

1,checkbox
    <input type="checkbox" name="ontop" value="1" <%if(v6==1){ %>checked="checked"<%} %>>
必须有value="1",不然        String ontops= request.getParameter("ontop");是空值。

2,MySQL的group by 和 group_concat,把字符结果分组累加
一个表结构及内容是这样的:
big        small
1              1
1              2
1              3
2             4
2             5
    String sql = "select bigid,group_concat(id) as ids from news_smallcolumn group by bigid order by bigid";运行这个语句,结果是这样的
bigid           ids
1                 1,2,3
2                  4,5

然后可以通过
        String content = rs.getString("ids");
        String[] contents = content.split(",");
做一些动作。

3,错误
问题:java.lang.IllegalArgumentException: setAttribute: Non-serializable attribute
    at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1295)
    at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1256)
    at org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:130)
    at com.eduinfo.admin.servlet.AdminLoginServlet.doGet(AdminLoginServlet.java:80)
    at com.eduinfo.admin.servlet.AdminLoginServlet.doPost(AdminLoginServlet.java:30)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
    at java.lang.Thread.run(Unknown Source)


原因:AdminBean admb = new AdminBean(rs.getString("AdminName"), rs.getString("Type"),    rs.getInt("Id"));
HttpSession sess = request.getSession();
sess.setAttribute("admin", admb);

AdminBean 没有实现序列化 Serializable 接口。

解决:class AdminBean implements Serializable



iReport
编译时候
is not a valid character for Standard 2 of 5 encoding
运行时候
  Filling report...
  Locale: 中文 (中国)
  Time zone: Default
Error filling print... Error evaluating expression :     Source text : it.businesslogic.ireport.barcode.BcImage.getBarcodeImage(13,"DJC09",true,false,null,0,0)
net.sourceforge.barbecue.BarcodeException: The Interleave 2 of 5 encoding requires an even number of data     at net.sourceforge.barbecue.linear.twoOfFive.Int2of5Barcode.validateData(Unknown Source)     at net.sourceforge.barbecue.linear.twoOfFive.Std2of5Barcode.<init>(Unknown Source)     at net.sourceforge.barbecue.linear.twoOfFive.Std2of5Barcode.<init>(Unknown Source)     at net.sourceforge.barbecue.linear.twoOfFive.Int2of5Barcode.<init>(Unknown Source)     at net.sourceforge.barbecue.BarcodeFactory.createInt2of5(Unknown Source)     at it.businesslogic.ireport.barcode.BcImage.getBarcodeImage(BcImage.java:76)     at test_1238921261578_17613.evaluate(test_1238921261578_17613:165)     at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:186)     at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:537)     at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:505)     at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:826)     at net.sf.jasperreports.engine.fill.JRFillImage.evaluateImage(JRFillImage.java:890)     at net.sf.jasperreports.engine.fill.JRFillImage.evaluate(JRFillImage.java:871)     at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:275)     at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:426)     at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1380)     at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:692)     at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:255)     at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:113)     at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:879)     at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:801)     at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)     at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)     at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:517)     at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:910)     at java.lang.Thread.run(Unknown Source) net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression :     Source text : it.businesslogic.ireport.barcode.BcImage.getBarcodeImage(13,"DJC09",true,false,null,0,0)     at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:197)     at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:537)     at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:505)     at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:826)     at net.sf.jasperreports.engine.fill.JRFillImage.evaluateImage(JRFillImage.java:890)     at net.sf.jasperreports.engine.fill.JRFillImage.evaluate(JRFillImage.java:871)     at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:275)     at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:426)     at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1380)     at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:692)     at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:255)     at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:113)     at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:879)     at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:801)     at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)     at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)     at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:517)     at it.businesslogic.ireport.IReportCompiler.run(IReportCompiler.java:910)     at java.lang.Thread.run(Unknown Source) Caused by: java.lang.RuntimeException: The Interleave 2 of 5 encoding requires an even number of data     at it.businesslogic.ireport.barcode.BcImage.getBarcodeImage(BcImage.java:101)     at test_1238921261578_17613.evaluate(test_1238921261578_17613:165)     at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:186)     ... 18 more 
Print was not filled. Try using an EmptyDataSource...

it.businesslogic.ireport.barcode.BcImage cannot be resolved to a type

在iReport中编译成功,tomcat中不成功。iReport.jar没在lib中,加入即可。