﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-龙卷风驿站-随笔分类-JAVA</title><link>http://www.blogjava.net/hackang/category/8986.html</link><description>初生牛犊</description><language>zh-cn</language><lastBuildDate>Thu, 01 Mar 2007 18:26:28 GMT</lastBuildDate><pubDate>Thu, 01 Mar 2007 18:26:28 GMT</pubDate><ttl>60</ttl><item><title>利用spring，启动context时自动执行某方法</title><link>http://www.blogjava.net/hackang/archive/2006/09/21/71073.html</link><dc:creator>龙卷风驿站</dc:creator><author>龙卷风驿站</author><pubDate>Thu, 21 Sep 2006 05:38:00 GMT</pubDate><guid>http://www.blogjava.net/hackang/archive/2006/09/21/71073.html</guid><wfw:comment>http://www.blogjava.net/hackang/comments/71073.html</wfw:comment><comments>http://www.blogjava.net/hackang/archive/2006/09/21/71073.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hackang/comments/commentRss/71073.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hackang/services/trackbacks/71073.html</trackback:ping><description><![CDATA[
		<p>首先在spring配置文件中定义bean：<br /><br />&lt;bean id="initSystemService"<br />        class="com.meetexpo.cms.backend.service.InitSystemServiceImp"&gt;<br />        &lt;property name="sysConfigService"&gt;<br />            &lt;ref bean="sysConfigService"/&gt;<br />        &lt;/property&gt;<br />        &lt;property name="sysForbidWordsService"&gt;<br />            &lt;ref bean="sysForbidWordsService"/&gt;<br />        &lt;/property&gt;<br />        &lt;property name="sysLogDefinePath"&gt;<br />            &lt;value&gt;SysLogDescriptions.xml&lt;/value&gt;<br />        &lt;/property&gt;       <br />        &lt;property name="privilegesFrontPath"&gt;<br />            &lt;value&gt;ActionPrivilegesFront.xml&lt;/value&gt;<br />        &lt;/property&gt;              <br />        &lt;property name="mailSender"&gt;<br />   &lt;ref local="mailSender" /&gt;<br />  &lt;/property&gt; <br />    &lt;/bean&gt; <br /><br />InitSystemServiceImp.java中部分代码如下：<br /><br />import org.springframework.beans.factory.InitializingBean;<br /><br />public class InitSystemServiceImp implements IInitSystemService,InitializingBean {<br />   ISysConfigService sysConfigService;<br />    ISysForbidWordsService sysForbidWordsService;<br />    private String sysLogDefinePath;<br />    MailSenderTask mailSender;<br />    private String privilegesFrontPath;<br /><br /><br /><br />public void afterPropertiesSet() throws Exception {<br />        updateConf();<br />        updateForbidWords();<br />        getSysLogDefine();<br />        //set the value to the mail sender<br />        updateMailConf();<br />        getPrivilegesFrontDefine();<br /> }</p>
		<p> </p>
		<p>在此要实现afterPropertiesSet接口，afterPropertiesSet()中的方法会随系统启动时自动执行，可做一些系统参数初始化使用<br /><br /><br /><br /><br />或者在action中也可以实现<br /><br />import org.springframework.beans.BeansException;<br />import org.springframework.context.ApplicationContext;<br />import org.springframework.context.ApplicationContextAware;<br />import org.springframework.web.context.WebApplicationContext;<br /><br /><br />public class FacadeExporterAction extends BaseAction implements ApplicationContextAware{<br />}<br /><br />可以利用set方法赋初值</p>
<img src ="http://www.blogjava.net/hackang/aggbug/71073.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hackang/" target="_blank">龙卷风驿站</a> 2006-09-21 13:38 <a href="http://www.blogjava.net/hackang/archive/2006/09/21/71073.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决FCKeditor上传文件的中文问题 </title><link>http://www.blogjava.net/hackang/archive/2006/08/02/61362.html</link><dc:creator>龙卷风驿站</dc:creator><author>龙卷风驿站</author><pubDate>Wed, 02 Aug 2006 09:12:00 GMT</pubDate><guid>http://www.blogjava.net/hackang/archive/2006/08/02/61362.html</guid><wfw:comment>http://www.blogjava.net/hackang/comments/61362.html</wfw:comment><comments>http://www.blogjava.net/hackang/archive/2006/08/02/61362.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hackang/comments/commentRss/61362.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hackang/services/trackbacks/61362.html</trackback:ping><description><![CDATA[
		<p>FCKeditor 上传文件都是取的你当前的文件名，如果服务器上有同名文件，会自动命名类似xxx(1).xx<br /><br />英文和数字的文件名还好，但是遇到中文文件名会有一点小麻烦，就是返回上传后的文件路径有乱码。<br /><br /><br />一不做，二不休，干脆自定义上传后的文件名规则，就是按当前时间（long型）＋随机数 组成。<br /><br />这样可以彻底解决问题。<br /><br /><br />首先要更改servlet的路径<br /><br />web.xml中：<br />.......................................<br /><font color="#ff0000"> &lt;servlet-name&gt;SimpleUploader&lt;/servlet-name&gt; </font></p>
		<p>
				<font color="#ff0000">        &lt;servlet-class&gt;com.lion.cms.frontend.servlet.SimpleUploaderServlet&lt;/servlet-class&gt; <br /></font>
				<br />.......................................<br /><br />servlet代码如下：<br />package com.lion.cms.frontend.servlet;</p>
		<p>import java.io.*;<br />import javax.servlet.*;<br />import javax.servlet.http.*;<br />import java.util.*;</p>
		<p>
				<br />import org.apache.commons.fileupload.*;</p>
		<p>
				<br />import javax.xml.parsers.*;<br />import org.w3c.dom.*;<br />import javax.xml.transform.*;<br />import javax.xml.transform.dom.DOMSource; <br />import javax.xml.transform.stream.StreamResult; <br /></p>
		<p>/**<br /> * Servlet to upload files.&lt;br&gt;<br /> *<br /> * This servlet accepts just file uploads, eventually with a parameter specifying file type<br /> *<br /> * @author Simone Chiaretta (<a href="mailto:simo@users.sourceforge.net">simo@users.sourceforge.net</a>)<br /> */</p>
		<p>public class SimpleUploaderServlet extends HttpServlet {<br />    <br />    private static String baseDir;<br />    private static boolean debug=false;<br />    private static boolean enabled=false;<br />    private static Hashtable allowedExtensions;<br />    private static Hashtable deniedExtensions;<br />    <br />    /**<br />     * Initialize the servlet.&lt;br&gt;<br />     * Retrieve from the servlet configuration the "baseDir" which is the root of the file repository:&lt;br&gt;<br />     * If not specified the value of "/UserFiles/" will be used.&lt;br&gt;<br />     * Also it retrieve all allowed and denied extensions to be handled.<br />     *<br />     */<br />     public void init() throws ServletException {<br />        <br />        debug=(new Boolean(getInitParameter("debug"))).booleanValue();<br />        <br />        if(debug) System.out.println("\r\n---- SimpleUploaderServlet initialization started ----");<br />        <br />        baseDir=getInitParameter("baseDir");<br />        enabled=(new Boolean(getInitParameter("enabled"))).booleanValue();<br />        if(baseDir==null)<br />            baseDir="/UserFiles/";<br />        String realBaseDir=getServletContext().getRealPath(baseDir);<br />        File baseFile=new File(realBaseDir);<br />        if(!baseFile.exists()){<br />            baseFile.mkdir();<br />        }<br />        <br />        allowedExtensions = new Hashtable(3);<br />        deniedExtensions = new Hashtable(3);<br />                <br />        allowedExtensions.put("File",stringToArrayList(getInitParameter("AllowedExtensionsFile")));<br />        deniedExtensions.put("File",stringToArrayList(getInitParameter("DeniedExtensionsFile")));</p>
		<p>        allowedExtensions.put("Image",stringToArrayList(getInitParameter("AllowedExtensionsImage")));<br />        deniedExtensions.put("Image",stringToArrayList(getInitParameter("DeniedExtensionsImage")));<br />        <br />        allowedExtensions.put("Flash",stringToArrayList(getInitParameter("AllowedExtensionsFlash")));<br />        deniedExtensions.put("Flash",stringToArrayList(getInitParameter("DeniedExtensionsFlash")));<br />        <br />        if(debug) System.out.println("---- SimpleUploaderServlet initialization completed ----\r\n");<br />        <br />    }<br />    </p>
		<p>    /**<br />     * Manage the Upload requests.&lt;br&gt;<br />     *<br />     * The servlet accepts commands sent in the following format:&lt;br&gt;<br />     * simpleUploader?Type=ResourceType&lt;br&gt;&lt;br&gt;<br />     * It store the file (renaming it in case a file with the same name exists) and then return an HTML file<br />     * with a javascript command in it.<br />     *<br />     */ <br />    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {</p>
		<p>        if (debug) System.out.println("--- BEGIN DOPOST ---");</p>
		<p>        response.setContentType("text/html; charset=UTF-8");<br />        response.setHeader("Cache-Control","no-cache");<br />        PrintWriter out = response.getWriter();<br />        </p>
		<p>        String typeStr=request.getParameter("Type");<br />        <br />        String currentPath=baseDir+typeStr;<br />        String currentDirPath=getServletContext().getRealPath(currentPath);<br />        currentPath=request.getContextPath()+currentPath;<br />        <br />        if (debug) System.out.println(currentDirPath);<br />        <br />        String retVal="0";<br />        String newName="";<br />        String fileUrl="";<br />        String errorMessage="";<br />        <br />        if(enabled) {       <br />            DiskFileUpload upload = new DiskFileUpload();<br />            try {<br />                List items = upload.parseRequest(request);<br />                <br />                Map fields=new HashMap();<br />                <br />                Iterator iter = items.iterator();<br />                while (iter.hasNext()) {<br />                    FileItem item = (FileItem) iter.next();<br />                    if (item.isFormField())<br />                        fields.put(item.getFieldName(),item.getString());<br />                    else<br />                        fields.put(item.getFieldName(),item);<br />                }<br />                FileItem uplFile=(FileItem)fields.get("NewFile");<br />                String fileNameLong=uplFile.getName();<br />                fileNameLong=fileNameLong.replace('\\','/');<br />                String[] pathParts=fileNameLong.split("/");<br />                String fileName=pathParts[pathParts.length-1];<br />                <br />                String nameWithoutExt=getNameWithoutExtension(fileName);<br />              <font color="#ff0000">  String ext=getExtension(fileName);//后缀名<br />                String random=String.valueOf((Math.abs((new Random()).nextInt()) % 10000));//生成随机数<br />                String namebydate=String.valueOf(Calendar.getInstance().getTime().getTime())+ random+"."+ext;<br />                File pathToSave=new File(currentDirPath,namebydate);<br />                fileUrl=currentPath+"/"+namebydate;//返回上传后的文件路径<br /></font>               <br />                if(extIsAllowed(typeStr,ext)) {<br />                    int counter=1;<br />                    while(pathToSave.exists()){//如果服务器存在同名文件<br />                        newName=nameWithoutExt+"("+counter+")"+"."+ext;//新文件名<br />                        fileUrl=currentPath+"/"+newName;<br />                        retVal="201";<br />                        pathToSave=new File(currentDirPath,newName);<br />                        counter++;<br />                        }<br />                    uplFile.write(pathToSave);<br />                }<br />                else {<br />                    retVal="202";<br />                    errorMessage="";<br />                    if (debug) System.out.println("Invalid file type: " + ext); <br />                }<br />            }catch (Exception ex) {<br />                if (debug) ex.printStackTrace();<br />                retVal="203";<br />            }<br />        }<br />        else {<br />            retVal="1";<br />            errorMessage="This file uploader is disabled. Please check the WEB-INF/web.xml file";<br />        }<br />        <br />      <font color="#ff0000">  //返回文件路径到文本框<br />        out.println("&lt;script type=\"text/javascript\"&gt;");<br />        out.println("window.parent.OnUploadCompleted("+retVal+",'"+fileUrl+"','"+newName+"','"+errorMessage+"');");<br />        out.println("&lt;/script&gt;");<br /></font>        out.flush();<br />        out.close();<br />    <br />        if (debug) System.out.println("--- END DOPOST ---");    <br />        <br />    }</p>
		<p>
				<br />    /*<br />     * This method was fixed after Kris Barnhoorn (kurioskronic) submitted SF bug #991489<br />     */<br />    private static String getNameWithoutExtension(String fileName) {<br />            return fileName.substring(0, fileName.lastIndexOf("."));<br />        }<br />        <br />    /*<br />     * This method was fixed after Kris Barnhoorn (kurioskronic) submitted SF bug #991489<br />     */<br />    private String getExtension(String fileName) {<br />        return fileName.substring(fileName.lastIndexOf(".")+1);<br />    }</p>
		<p> </p>
		<p>    /**<br />     * Helper function to convert the configuration string to an ArrayList.<br />     */<br />     <br />     private ArrayList stringToArrayList(String str) {<br />     <br />     if(debug) System.out.println(str);<br />     String[] strArr=str.split("\\|");<br />         <br />     ArrayList tmp=new ArrayList();<br />     if(str.length()&gt;0) {<br />         for(int i=0;i&lt;strArr.length;++i) {<br />                if(debug) System.out.println(i +" - "+strArr[i]);<br />                tmp.add(strArr[i].toLowerCase());<br />            }<br />        }<br />        return tmp;<br />     }</p>
		<p>
				<br />    /**<br />     * Helper function to verify if a file extension is allowed or not allowed.<br />     */<br />     <br />     private boolean extIsAllowed(String fileType, String ext) {<br />            <br />            ext=ext.toLowerCase();<br />            <br />            ArrayList allowList=(ArrayList)allowedExtensions.get(fileType);<br />            ArrayList denyList=(ArrayList)deniedExtensions.get(fileType);<br />            <br />            if(allowList.size()==0)<br />                if(denyList.contains(ext))<br />                    return false;<br />                else<br />                    return true;</p>
		<p>            if(denyList.size()==0)<br />                if(allowList.contains(ext))<br />                    return true;<br />                else<br />                    return false;<br />     <br />            return false;<br />     }</p>
		<p>}</p>
		<p>.</p>
<img src ="http://www.blogjava.net/hackang/aggbug/61362.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hackang/" target="_blank">龙卷风驿站</a> 2006-08-02 17:12 <a href="http://www.blogjava.net/hackang/archive/2006/08/02/61362.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Jfreechart使用</title><link>http://www.blogjava.net/hackang/archive/2006/07/20/59191.html</link><dc:creator>龙卷风驿站</dc:creator><author>龙卷风驿站</author><pubDate>Thu, 20 Jul 2006 07:12:00 GMT</pubDate><guid>http://www.blogjava.net/hackang/archive/2006/07/20/59191.html</guid><wfw:comment>http://www.blogjava.net/hackang/comments/59191.html</wfw:comment><comments>http://www.blogjava.net/hackang/archive/2006/07/20/59191.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hackang/comments/commentRss/59191.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hackang/services/trackbacks/59191.html</trackback:ping><description><![CDATA[
		<p>jfreechart文档居然是收费的，在网上找了好多资料都是针对1。0之前的版本的，好入容易找到一个1.0下面可以用的<br /><br /><br />package com.meetexpo.cms.backend.util;</p>
		<p>import java.awt.Color;<br />import java.awt.Font;<br />import java.awt.GradientPaint;<br />import java.awt.RenderingHints;<br />import java.io.PrintWriter;</p>
		<p>import javax.servlet.http.HttpSession;</p>
		<p>import org.jfree.chart.ChartFactory;<br />import org.jfree.chart.ChartRenderingInfo;<br />import org.jfree.chart.ChartUtilities;<br />import org.jfree.chart.JFreeChart;<br />import org.jfree.chart.axis.CategoryAxis;<br />import org.jfree.chart.axis.CategoryLabelPositions;<br />import org.jfree.chart.axis.NumberAxis;<br />import org.jfree.chart.axis.ValueAxis;<br />import org.jfree.chart.entity.StandardEntityCollection;<br />import org.jfree.chart.labels.CategoryItemLabelGenerator;<br />import org.jfree.chart.plot.CategoryPlot;<br />import org.jfree.chart.plot.PlotOrientation;<br />import org.jfree.chart.renderer.category.BarRenderer;<br />import org.jfree.chart.renderer.category.CategoryItemRenderer;<br />import org.jfree.chart.servlet.ServletUtilities;<br />import org.jfree.chart.title.TextTitle;<br />import org.jfree.data.category.CategoryDataset;<br />import org.jfree.data.category.DefaultCategoryDataset;</p>
		<p>public class CategoryItemChart {<br /> public static String generateBarChart(<br />         HttpSession session,<br />         PrintWriter pw,<br />         int w, int h) {<br /> String filename = null;<br /> try {<br /> CategoryDataset dataset=createDataset();<br /> JFreeChart chart=ChartFactory.createBarChart(<br /> "世界傻瓜大奖赛",//图表标题<br /> "比赛场次",//X轴标题<br /> "傻瓜程度",//Y轴标题<br /> dataset,//数据集合<br /> PlotOrientation.VERTICAL,//图表显示方向（水平、垂直）<br /> true,//是否使用图例<br /> false,//是否使用工具提示<br /> false//是否为图表增加URL<br /> );<br /> <br /> /*------------配置图表属性--------------*/<br /> // 1,设置整个图表背景颜色<br /> chart.setBackgroundPaint(Color.yellow);<br /> <br /> <br /> /*------------设定Plot参数-------------*/<br /> CategoryPlot plot=chart.getCategoryPlot();<br /> // 2,设置详细图表的显示细节部分的背景颜色<br /> plot.setBackgroundPaint(Color.PINK);<br /> // 3,设置垂直网格线颜色<br /> plot.setDomainGridlinePaint(Color.black);<br /> //4,设置是否显示垂直网格线<br /> plot.setDomainGridlinesVisible(true);<br /> //5,设置水平网格线颜色<br /> plot.setRangeGridlinePaint(Color.yellow);<br /> //6,设置是否显示水平网格线<br /> plot.setRangeGridlinesVisible(true);<br /> <br /> /*---------将所有数据转换为整数形式---------*/<br /> final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();<br /> rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());<br /> <br /> /*---------设置是否在柱图的状态条上显示边框----*/<br /> CategoryItemRenderer renderer = (CategoryItemRenderer) plot.getRenderer();<br /> BarRenderer  render=(BarRenderer) plot.getRenderer();<br /> render.setItemMargin(0.1);<br /> <br /> /*---------设置状态条颜色的深浅渐变-----------*/<br />    GradientPaint gp0 = new GradientPaint(<br />            0.0f, 0.0f, new Color(255,200,80),<br />            0.0f, 0.0f, new Color(255,255,40)<br />            );<br />    GradientPaint gp1 = new GradientPaint(<br />            0.0f, 0.0f, new Color(50,255,50),<br />            0.0f, 0.0f, new Color(100,255,100)<br />            );<br />    GradientPaint gp2 = new GradientPaint(<br />            0.0f, 0.0f, Color.red,<br />            0.0f, 0.0f, new Color(255,100,100)<br />            );<br />    GradientPaint gp3 = new GradientPaint(<br />                0.0f, 0.0f, new Color(108,108,255),<br />                0.0f, 0.0f, new Color(150, 150, 200)<br />                );<br />              <br />    renderer.setSeriesPaint(0, gp0);<br />    renderer.setSeriesPaint(1, gp1);<br />    renderer.setSeriesPaint(2, gp2);<br />    renderer.setSeriesPaint(3, gp3);</p>
		<p>    /*<br />     * <br />     * 解决柱状体与图片边框的间距问题<br />     * <br />     * <br />     * */                 <br />    /*------设置X轴标题的倾斜程度----*/<br />    CategoryAxis domainAxis = plot.getDomainAxis();<br />    domainAxis.setCategoryLabelPositions(<br />    CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0)<br />    );<br />    /*------设置柱状体与图片边框的左右间距--*/<br />    domainAxis.setLowerMargin(0.01);<br />    domainAxis.setUpperMargin(0.01);</p>
		<p>    /*------设置柱状体与图片边框的上下间距---*/<br />    ValueAxis rAxis = plot.getRangeAxis();<br />    rAxis.setUpperMargin(0.15);<br />    rAxis.setLowerMargin(0.15);<br />    <br />    /*---------设置每一组柱状体之间的间隔---------*/<br />    render.setItemMargin(0.0); <br />    /*<br />     * <br />     * 解决柱状体与图片边框的间距问题<br />     * <br />     * <br />     * */  <br />    <br />    <br />    <br />    <br />    <br />    /*<br />     * <br />     * <br />     * 解决JFREECHART的中文显示问题<br />     * <br />     * <br />     * */<br />    <br />    /*----------设置消除字体的锯齿渲染（解决中文问题）--------------*/<br />    chart.getRenderingHints().put(<br />            RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_OFF<br />            );<br />    /*----------设置标题字体--------------------------*/<br />    TextTitle textTitle = chart.getTitle();<br />    textTitle.setFont(new Font("黑体", Font.PLAIN, 20));        <br />    /*------设置X轴坐标上的文字-----------*/<br />    domainAxis.setTickLabelFont(new Font("sans-serif",Font.PLAIN,11));<br />    /*------设置X轴的标题文字------------*/<br />    domainAxis.setLabelFont(new Font("宋体",Font.PLAIN,12));         <br />    /*------设置Y轴坐标上的文字-----------*/<br />    rAxis.setTickLabelFont(new Font("sans-serif",Font.PLAIN,12));<br />    /*------设置Y轴的标题文字------------*/<br />    rAxis.setLabelFont(new Font("黑体",Font.PLAIN,12)); <br />    <br />    /*---------设置柱状体上的显示的字体---------*/         <br />    renderer.setItemLabelGenerator(new LabelGenerator(0.0));<br />    renderer.setItemLabelFont(new Font("宋体",Font.PLAIN,12));<br />    renderer.setItemLabelsVisible(true);<br />    <br />    /*<br />     * <br />     * <br />     * 解决JFREECHART的中文显示问题<br />     * <br />     * <br />     * */     </p>
		<p> /*------得到chart的保存路径----*/<br />    ChartRenderingInfo info = new ChartRenderingInfo(new<br />            StandardEntityCollection());<br /> filename = ServletUtilities.saveChartAsPNG(chart, w, h, info, session);<br /> <br /> /*------使用printWriter将文件写出----*/<br /> ChartUtilities.writeImageMap(pw, filename, info,true);<br /> pw.flush();<br /> <br /> }<br /> catch (Exception e) {<br /> System.out.println("Exception - " + e.toString());<br /> e.printStackTrace(System.out);<br /> filename = "public_error_500x300.png";<br /> }<br /> return filename;<br /> }<br /> <br /> <br /> /*-------------设置柱状体顶端的数据显示--------------*/<br /> static class LabelGenerator implements CategoryItemLabelGenerator {<br /> <br /> private double threshold;<br /> <br /> public LabelGenerator(double threshold) {<br /> this.threshold = threshold;<br /> }<br /> <br /> public String generateLabel(CategoryDataset dataset,<br /> int row,int column) {<br /> String result = null;<br /> final Number value = dataset.getValue(row, column);<br /> if (value != null) {<br /> final double v = value.doubleValue();<br /> if (v &gt; this.threshold) {<br /> result = value.toString(); <br /> }<br /> }<br /> return result;<br /> }<br /> <br /> public String generateRowLabel(CategoryDataset dataset,<br /> int row){<br /> return null;<br /> <br /> }<br /> public String generateColumnLabel(CategoryDataset dataset,<br /> int column){<br /> return null;<br /> }<br /> <br /> <br /> <br /> }<br /> /*-----------数据集合封装-------------*/<br /> private static CategoryDataset createDataset(){<br /> String s1="笨笨";<br /> String s2="蛋蛋";<br /> String s3="傻傻";<br /> String s4="瓜瓜";<br /> <br /> String c1="第一场";<br /> String c2="第二场";<br /> String c3="第三场";<br /> String c4="第四场";<br /> String c5="第五场";<br /> <br /> /*-------------封装图表使用的数据集-------------*/<br /> DefaultCategoryDataset dataset=new DefaultCategoryDataset();<br /> dataset.setValue(1.0,s1,c1);<br /> dataset.setValue(2.0,s1,c2);<br /> dataset.setValue(3.0,s1,c3);<br /> dataset.setValue(4.0,s1,c4);<br /> dataset.setValue(5.0,s1,c5);<br /> <br /> dataset.setValue(5.0,s2,c1);<br /> dataset.setValue(4.0,s2,c2);<br /> dataset.setValue(3.0,s2,c3);<br /> dataset.setValue(2.0,s2,c4);<br /> dataset.setValue(1.0,s2,c5);<br /> <br /> dataset.setValue(1.0,s3,c1);<br /> dataset.setValue(2.0,s3,c2);<br /> dataset.setValue(3.0,s3,c3);<br /> dataset.setValue(2.0,s3,c4);<br /> dataset.setValue(1.0,s3,c5);<br /> <br /> dataset.setValue(1.0,s4,c1);<br /> dataset.setValue(2.0,s4,c2);<br /> dataset.setValue(3.0,s4,c3);<br /> dataset.setValue(4.0,s4,c4);<br /> dataset.setValue(5.0,s4,c5);<br /> <br /> <br /> return dataset;<br /> }<br />     <br /> }</p>
		<p>
				<br />JSP代码如下：<br />&lt;%@ page contentType="text/html;charset=GBK"%&gt;</p>
		<p>&lt;%@ page import="java.io.PrintWriter"%&gt;<br />&lt;%@ page import="com.meetexpo.cms.backend.util.CategoryItemChart;"%&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;<br />&lt;/title&gt;<br />&lt;%<br />//以下部分为图象输出</p>
		<p>String fileName=CategoryItemChart.generateBarChart(session,new PrintWriter(out),580,250);<br />String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + fileName;</p>
		<p>%&gt;</p>
		<p>&lt;/head&gt;<br />&lt;body bgcolor="#ffffff"&gt;<br />&lt;table  width="580" border="0" cellspacing="0" cellpadding="0"&gt;<br />  &lt;tr&gt;<br />    &lt;td&gt;<br />      &lt;img src="&lt;%= graphURL %&gt;" width=580 height=250 border=0<br />         &gt;<br />    &lt;/td&gt;<br />  &lt;/tr&gt;<br />&lt;/table&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</p>
		<p>类包是jcommon-1.0.0.jar和jfreechart-1.0.0.jar</p>
<img src ="http://www.blogjava.net/hackang/aggbug/59191.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hackang/" target="_blank">龙卷风驿站</a> 2006-07-20 15:12 <a href="http://www.blogjava.net/hackang/archive/2006/07/20/59191.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dwr使用实例</title><link>http://www.blogjava.net/hackang/archive/2006/07/05/56674.html</link><dc:creator>龙卷风驿站</dc:creator><author>龙卷风驿站</author><pubDate>Wed, 05 Jul 2006 03:06:00 GMT</pubDate><guid>http://www.blogjava.net/hackang/archive/2006/07/05/56674.html</guid><wfw:comment>http://www.blogjava.net/hackang/comments/56674.html</wfw:comment><comments>http://www.blogjava.net/hackang/archive/2006/07/05/56674.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/hackang/comments/commentRss/56674.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hackang/services/trackbacks/56674.html</trackback:ping><description><![CDATA[
		<p>开发环境：eclipse3.1.2  myeclipse4.1.1   Tomcat5.0.28   Mysql5.0<br />dwr类包版本是1.1<br />步骤一：配置web.xml<br /> &lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;web-app&gt;<br />    &lt;servlet&gt;<br />        &lt;servlet-name&gt;action&lt;/servlet-name&gt;<br />        &lt;servlet-class&gt;org.apache.struts.action.ActionServlet&lt;/servlet-class&gt;<br />        &lt;init-param&gt;<br />            &lt;param-name&gt;config&lt;/param-name&gt;<br />            &lt;param-value&gt;/WEB-INF/struts-config.xml&lt;/param-value&gt;<br />        &lt;/init-param&gt;<br />        &lt;init-param&gt;<br />            &lt;param-name&gt;debug&lt;/param-name&gt;<br />            &lt;param-value&gt;3&lt;/param-value&gt;<br />        &lt;/init-param&gt;<br />        &lt;init-param&gt;<br />            &lt;param-name&gt;detail&lt;/param-name&gt;<br />            &lt;param-value&gt;3&lt;/param-value&gt;<br />        &lt;/init-param&gt;<br />        &lt;load-on-startup&gt;0&lt;/load-on-startup&gt;<br />    &lt;/servlet&gt;</p>
		<p>
				<br />    &lt;servlet-mapping&gt;<br />        &lt;servlet-name&gt;action&lt;/servlet-name&gt;<br />        &lt;url-pattern&gt;*.do&lt;/url-pattern&gt;<br />    &lt;/servlet-mapping&gt;<br />    &lt;servlet&gt;<br />        &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt;<br />        &lt;servlet-class&gt;uk.ltd.getahead.dwr.DWRServlet&lt;/servlet-class&gt;<br />        &lt;init-param&gt;<br />            &lt;param-name&gt;debug&lt;/param-name&gt;<br />            &lt;param-value&gt;true&lt;/param-value&gt;<br />        &lt;/init-param&gt;<br />    &lt;/servlet&gt;</p>
		<p>    &lt;servlet-mapping&gt;<br />        &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt;<br />        &lt;url-pattern&gt;/dwr/*&lt;/url-pattern&gt;<br />    &lt;/servlet-mapping&gt;<br />    <br />    &lt;context-param&gt;<br />        &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;<br />        &lt;param-value&gt;/WEB-INF/applicationContext.xml<br />        &lt;/param-value&gt;<br />    &lt;/context-param&gt;<br />    &lt;listener&gt;<br />        &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;<br />    &lt;/listener&gt;  <br />      <br />    &lt;filter&gt;<br />        &lt;filter-name&gt;EncodingFilter&lt;/filter-name&gt;<br />        &lt;filter-class&gt;org.springframework.web.filter.CharacterEncodingFilter&lt;/filter-class&gt;<br />        &lt;init-param&gt;<br />            &lt;param-name&gt;encoding&lt;/param-name&gt;<br />            `<br />            &lt;param-value&gt;UTF-8&lt;/param-value&gt;<br />        &lt;/init-param&gt;</p>
		<p>    &lt;/filter&gt;<br />    &lt;filter-mapping&gt;<br />        &lt;filter-name&gt;EncodingFilter&lt;/filter-name&gt;<br />        &lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br />    &lt;/filter-mapping&gt;</p>
		<p>      &lt;error-page&gt;<br />        &lt;error-code&gt;404&lt;/error-code&gt;<br />        &lt;location&gt;/404.jsp&lt;/location&gt;<br />    &lt;/error-page&gt;</p>
		<p>    &lt;error-page&gt;<br />        &lt;error-code&gt;500&lt;/error-code&gt;<br />        &lt;location&gt;/500.jsp&lt;/location&gt;<br />    &lt;/error-page&gt;</p>
		<p>    &lt;taglib&gt;<br />        &lt;taglib-uri&gt;/WEB-INF/struts-bean&lt;/taglib-uri&gt;<br />        &lt;taglib-location&gt;/WEB-INF/tld/struts-bean.tld&lt;/taglib-location&gt;<br />    &lt;/taglib&gt;<br />    &lt;taglib&gt;<br />        &lt;taglib-uri&gt;/WEB-INF/struts-logic&lt;/taglib-uri&gt;<br />        &lt;taglib-location&gt;/WEB-INF/tld/struts-logic.tld&lt;/taglib-location&gt;<br />    &lt;/taglib&gt;<br />    &lt;taglib&gt;<br />        &lt;taglib-uri&gt;/WEB-INF/struts-html&lt;/taglib-uri&gt;<br />        &lt;taglib-location&gt;/WEB-INF/tld/struts-html.tld&lt;/taglib-location&gt;<br />    &lt;/taglib&gt;<br />    &lt;taglib&gt;<br />        &lt;taglib-uri&gt;/WEB-INF/struts-tiles&lt;/taglib-uri&gt;<br />        &lt;taglib-location&gt;/WEB-INF/tld/struts-tiles.tld&lt;/taglib-location&gt;<br />    &lt;/taglib&gt;<br />    &lt;taglib&gt;<br />        &lt;taglib-uri&gt;/WEB-INF/ntu&lt;/taglib-uri&gt;<br />        &lt;taglib-location&gt;/WEB-INF/tld/ntu.tld&lt;/taglib-location&gt;<br />    &lt;/taglib&gt;</p>
		<p>&lt;/web-app&gt;</p>
		<p>二：spring中注入相关service<br />&lt;bean id="ajaxTestService" class="com.lion.cms.domain.service.AjaxTestServiceImp"&gt;<br />        &lt;property name="commonDAO"&gt;<br />            &lt;ref bean="commonDAO" /&gt;<br />        &lt;/property&gt;<br />    &lt;/bean&gt;<br /><br />三:AjaxTestServiceImp代码<br />public class AjaxTestServiceImp implements IAjaxTestService {<br />   <br />    private ICommonDAO commonDAO;</p>
		<p>      <br />    public void setCommonDAO(ICommonDAO commonDAO) {<br />        this.commonDAO = commonDAO;<br />    }</p>
		<p>    public List getEmployeeById(String deptid) {<br />        DetachedCriteria detachedCriteria=DetachedCriteria.forClass(Employee.class);<br />        detachedCriteria.setFetchMode(Employee.PROP_DEPTID,FetchMode.JOIN);<br />        detachedCriteria.add(Restrictions.eq(Employee.PROP_DEPTID+".id",deptid));<br />        List result=commonDAO.findByCriteria(detachedCriteria);<br />        return result;<br />        <br />    }<br />}<br /><br />四：dwr.xml配置<br />&lt;?xml version="1.0" encoding="UTF-8"?&gt; <br />&lt;!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "<a href="http://www.getahead.ltd.uk/dwr/dwr10.dtd">http://www.getahead.ltd.uk/dwr/dwr10.dtd</a>"&gt; </p>
		<p>&lt;dwr&gt;<br /> &lt;allow&gt;<br />  &lt;create creator="spring" javascript="ajaxTestService"&gt;<br />   &lt;param name="beanName" value="ajaxTestService" /&gt;<br />   &lt;include method="getEmployeeById" /&gt;<br />  &lt;/create&gt;<br />        &lt;convert converter="bean" match="com.lion.cms.domain.pojo.Employee" /&gt; <br />        &lt;param name="exclude" value="com.lion.cms.domain.pojo.Dept"/&gt; <br /> &lt;/allow&gt;<br />&lt;/dwr&gt;<br /><br />五：jsp页面<br />&lt;html:select styleId="deptid" property="deptid" onchange="loadEmployList(this.value)"&gt;<br />                &lt;html:optionsCollection name="deptlist" label="deptname" value="id"/&gt;<br />            &lt;/html:select&gt;<br />            &lt;html:select property="employee" styleId="employee"&gt;<br />            &lt;html:option value="" &gt;请选择&lt;/html:option&gt;<br />            &lt;/html:select&gt;     <br /><br />&lt;script type="text/javascript"&gt;<br />&lt;!--<br />    // 加载employee下拉列表。<br />    function loadEmployList(deptid){<br />        if(deptid==null||deptid==''){<br />        clearEmployeeSel();<br />        return;<br />        }<br />        ajaxTestService.getEmployeeById(loadEmployListCallback,deptid);<br />    }<br />    var loadEmployListCallback=function(items){<br />        clearEmployeeSel();<br />        DWRUtil.addOptions("employee",items,"id","truename");<br />    }<br />    function clearEmployeeSel(){<br />        DWRUtil.removeAllOptions("employee");<br />        DWRUtil.addOptions("employee",[{label:'请选择',value:''}],"value","label");<br />    }<br />//--&gt;<br />&lt;/script&gt;<br /><br /><br />职工和部门是多对一关系，例子简单，不详细叙述了<br />dwr中spring和hibernate的配置相关帮助文档：<br /><a href="http://getahead.ltd.uk/dwr/server/spring">http://getahead.ltd.uk/dwr/server/spring</a><br /><a href="http://getahead.ltd.uk/dwr/server/hibernate">http://getahead.ltd.uk/dwr/server/hibernate</a><br /><br /><br />dept.hbm.xml代码如下：<br />&lt;hibernate-mapping package="com.lion.cms.domain.pojo"&gt;<br /> &lt;class<br />   name="Dept"<br />  table="dept"<br /> &gt;<br /> &lt;meta attribute="sync-DAO"&gt;false&lt;/meta&gt;<br />   &lt;id<br />   name="id"<br />   type="string"<br />   column="id"<br />  &gt;<br />   &lt;generator class="uuid.hex"/&gt;<br />  &lt;/id&gt;</p>
		<p>  &lt;property<br />   name="deptname"<br />   column="deptname"<br />   type="string"<br />   not-null="true"<br />   length="12"<br />  /&gt;<br />  &lt;property<br />   name="creattime"<br />   column="creattime"<br />   type="java.lang.Long"<br />   not-null="false"<br />   length="20"<br />  /&gt;<br /> </p>
		<p>
				<br /> &lt;/class&gt; <br />&lt;/hibernate-mapping&gt;<br /><br /><br />employee.hbm.xml代码如下：<br /><br />&lt;hibernate-mapping package="com.lion.cms.domain.pojo"&gt;<br /> &lt;class<br />  name="Employee"<br />  table="employee"<br /> &gt;<br />  &lt;meta attribute="sync-DAO"&gt;false&lt;/meta&gt;<br />  &lt;id<br />   name="id"<br />   type="string"<br />   column="Id"<br />  &gt;<br />   &lt;generator class="uuid.hex"/&gt;<br />  &lt;/id&gt;</p>
		<p>  &lt;property<br />   name="username"<br />   column="username"<br />   type="string"<br />   not-null="true"<br />   length="20"<br />  /&gt;<br />  &lt;property<br />   name="password"<br />   column="password"<br />   type="string"<br />   not-null="false"<br />   length="20"<br />  /&gt;<br />  &lt;property<br />   name="truename"<br />   column="truename"<br />   type="string"<br />   not-null="false"<br />   length="11"<br />  /&gt;<br />  &lt;property<br />   name="sex"<br />   column="sex"<br />   type="string"<br />   not-null="false"<br />   length="2"<br />  /&gt;<br />  &lt;property<br />   name="intro"<br />   column="intro"<br />   type="string"<br />   not-null="false"<br />  /&gt;<br />  &lt;many-to-one<br />   name="deptid"<br />   column="deptid"<br />   class="Dept"<br />   not-null="true"<br />  &gt;<br />  &lt;/many-to-one&gt;</p>
		<p>
				<br /> &lt;/class&gt; <br />&lt;/hibernate-mapping&gt;<br /><br />用hibernate同步插件可以快速生成po<br /><br /></p>
		<p> </p>
<img src ="http://www.blogjava.net/hackang/aggbug/56674.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hackang/" target="_blank">龙卷风驿站</a> 2006-07-05 11:06 <a href="http://www.blogjava.net/hackang/archive/2006/07/05/56674.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>毕业设计搞定，论文拼凑中。。。</title><link>http://www.blogjava.net/hackang/archive/2006/05/17/46577.html</link><dc:creator>龙卷风驿站</dc:creator><author>龙卷风驿站</author><pubDate>Wed, 17 May 2006 03:01:00 GMT</pubDate><guid>http://www.blogjava.net/hackang/archive/2006/05/17/46577.html</guid><wfw:comment>http://www.blogjava.net/hackang/comments/46577.html</wfw:comment><comments>http://www.blogjava.net/hackang/archive/2006/05/17/46577.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hackang/comments/commentRss/46577.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hackang/services/trackbacks/46577.html</trackback:ping><description><![CDATA[这一个月在公司其他事没做，天天做毕业设计，前几天终于完工了。毕业设计做的是计量局的管理系统，采用struts＋spring＋hibernate完成，运行良好，遗憾的是业务层没有分离，因为时间紧加上系统不是很大，所以都写在action中了，存在部分代码重写，下次改进，呵呵。<br />    <br /><br />    系统js代码写了不少，因为某些功能必须要这样来实现。<br /><br />    论文写了1w多字了，早日做好，公司还有事要做。<br /><br />    做项目的过程中得到了公司不少高人的指点，尤其是我师父colky，让我少走了很多弯路，好多东西也更清晰，谢谢他们。<img src ="http://www.blogjava.net/hackang/aggbug/46577.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hackang/" target="_blank">龙卷风驿站</a> 2006-05-17 11:01 <a href="http://www.blogjava.net/hackang/archive/2006/05/17/46577.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>收藏：父子窗口</title><link>http://www.blogjava.net/hackang/archive/2006/04/30/44152.html</link><dc:creator>龙卷风驿站</dc:creator><author>龙卷风驿站</author><pubDate>Sun, 30 Apr 2006 02:42:00 GMT</pubDate><guid>http://www.blogjava.net/hackang/archive/2006/04/30/44152.html</guid><wfw:comment>http://www.blogjava.net/hackang/comments/44152.html</wfw:comment><comments>http://www.blogjava.net/hackang/archive/2006/04/30/44152.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hackang/comments/commentRss/44152.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hackang/services/trackbacks/44152.html</trackback:ping><description><![CDATA[1。父窗口传递信息给子窗口<br /><br />看代码实例：<br />&lt;script language=javascript&gt;<br /><br />function outPut()<br />{<br />//获取父窗口的文本信息赋值给text<br />var text = document.abc.text.value;<br />//打开子窗口，并且把操作句柄赋值给win变量，以下所有操作都是针对win对象的<br />var win = window.open("","mywin", "menubar=no,width=400,height=100,resizeable=yes");<br />//输出基本信息<br />win.document.writeln("&lt;title&gt;输出结果&lt;/title&gt;");<br />win.document.writeln("你的信息是：&lt;p&gt;");<br />//输出从父窗口获取的信息<br />win.document.writeln(text);<br />win.document.close();<br />win.focus();<br />}<br />&lt;/script&gt;<br /><br />&lt;form name=abc method=post&gt;<br />&lt;input type=text name=text size=50&gt;<br />//调用上面的函数<br />&lt;input type=button value=提交 onClick="outPut()"&gt;<br /><br />&lt;/form&gt;<br /><br />2。子窗口传递参数给父窗口<br /><br />我们对上面的代码进行改造：<br /><br />&lt;script language=javascript&gt;<br /><br />function outPut()<br />{<br />var text = document.abc.text.value;<br />var win = window.open("","mywin", "menubar=no,width=400,height=100,resizeable=yes");<br />win.document.writeln("&lt;title&gt;输出结果&lt;/title&gt;");<br />win.document.writeln("你的信息是：&lt;p&gt;");<br />win.document.writeln(text);<br />win.document.writeln("&lt;input type=text name=child value=子窗口信息&gt;");<br /><br />//对子窗口本身操作，使用self对象，对父窗口操作使用opener对象，这是关键<br />//把子窗口中表单的值回传给父窗口，取代父窗口表单以前的值，然后关闭子窗口<br />win.document.writeln("&lt;input type=button value=关闭自己 onClick='window.opener.abc.text.value=self.child.value;self.close()'&gt;");<br />//可以控制关闭父窗口<br />win.document.writeln("&lt;input type=button value=关闭父窗口 onClick='window.opener.opener=null;window.opener.close()'&gt;");<br />//刷新父窗口<br />win.document.writeln("&lt;input type=button value=刷新父窗口 onClick='window.opener.location.reload()'&gt;");<br /><br />win.document.close();<br />win.focus();<br />}<br />&lt;/script&gt;<br /><br />&lt;form name=abc method=post&gt;<br />&lt;input type=text name=text size=50&gt;<br />&lt;input type=button value=提交 onClick="outPut()"&gt;<br /><br />&lt;/form&gt; <br /><img src ="http://www.blogjava.net/hackang/aggbug/44152.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hackang/" target="_blank">龙卷风驿站</a> 2006-04-30 10:42 <a href="http://www.blogjava.net/hackang/archive/2006/04/30/44152.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>做个编码随意的程序员</title><link>http://www.blogjava.net/hackang/archive/2006/04/27/43505.html</link><dc:creator>龙卷风驿站</dc:creator><author>龙卷风驿站</author><pubDate>Thu, 27 Apr 2006 02:51:00 GMT</pubDate><guid>http://www.blogjava.net/hackang/archive/2006/04/27/43505.html</guid><wfw:comment>http://www.blogjava.net/hackang/comments/43505.html</wfw:comment><comments>http://www.blogjava.net/hackang/archive/2006/04/27/43505.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hackang/comments/commentRss/43505.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hackang/services/trackbacks/43505.html</trackback:ping><description><![CDATA[哈哈，编码自由写，在eclipse里面最后用ctrl+shift+f 快捷键，代码乖乖的自动排列好，尤其是xml文件，排得真好看<img src ="http://www.blogjava.net/hackang/aggbug/43505.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hackang/" target="_blank">龙卷风驿站</a> 2006-04-27 10:51 <a href="http://www.blogjava.net/hackang/archive/2006/04/27/43505.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于DetachedCriteria，今天的一小发现</title><link>http://www.blogjava.net/hackang/archive/2006/04/24/42827.html</link><dc:creator>龙卷风驿站</dc:creator><author>龙卷风驿站</author><pubDate>Mon, 24 Apr 2006 06:26:00 GMT</pubDate><guid>http://www.blogjava.net/hackang/archive/2006/04/24/42827.html</guid><wfw:comment>http://www.blogjava.net/hackang/comments/42827.html</wfw:comment><comments>http://www.blogjava.net/hackang/archive/2006/04/24/42827.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/hackang/comments/commentRss/42827.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hackang/services/trackbacks/42827.html</trackback:ping><description><![CDATA[
		<p>比较一个属性可以这样：<br />detachedCriteria.add(Restrictions.eq(XXX.PROP_ID,Integer.parseInt(id)));<br /><br />如果比较的属性本身类型是对象，那么可以这样<br /><br />detachedCriteria.add(Restrictions.eq(XXX.PROP_BM+".id",Integer.parseInt(bmid)));<br /><br />以上面的语句为例，如果我比较其他属性<br />detachedCriteria.add(Restrictions.eq(XXX.PROP_BM+".bmmc",bmmc));<br /><br />这样是不行的<br /><br />解决方法：先定义一个别名<br />detachedCriteria.createAlias(XXX.PROP_BM, "bm");<br />然后可以这样使用了<br />detachedCriteria.add("bm.bmmc",bmmc));<br /><br /><br />ps:个人总结：不使用别名，本身是对象的属性后面只能跟其主键属性，比较其他属性要用别名。个人观点，还没有得到确认<br /><br /><br /></p>
<img src ="http://www.blogjava.net/hackang/aggbug/42827.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hackang/" target="_blank">龙卷风驿站</a> 2006-04-24 14:26 <a href="http://www.blogjava.net/hackang/archive/2006/04/24/42827.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS中文参数传递</title><link>http://www.blogjava.net/hackang/archive/2006/04/14/41059.html</link><dc:creator>龙卷风驿站</dc:creator><author>龙卷风驿站</author><pubDate>Fri, 14 Apr 2006 04:13:00 GMT</pubDate><guid>http://www.blogjava.net/hackang/archive/2006/04/14/41059.html</guid><wfw:comment>http://www.blogjava.net/hackang/comments/41059.html</wfw:comment><comments>http://www.blogjava.net/hackang/archive/2006/04/14/41059.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hackang/comments/commentRss/41059.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hackang/services/trackbacks/41059.html</trackback:ping><description><![CDATA[项目特殊，js里面有中文参数传递<br /><br /><br />接受方： String  EmployeeName =new  String(httpServletRequest.getParameter("EmployeeName").toString().getBytes("ISO8859-1"));<br /><img src ="http://www.blogjava.net/hackang/aggbug/41059.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hackang/" target="_blank">龙卷风驿站</a> 2006-04-14 12:13 <a href="http://www.blogjava.net/hackang/archive/2006/04/14/41059.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>读取资源文件内容</title><link>http://www.blogjava.net/hackang/archive/2006/03/28/37764.html</link><dc:creator>龙卷风驿站</dc:creator><author>龙卷风驿站</author><pubDate>Tue, 28 Mar 2006 04:47:00 GMT</pubDate><guid>http://www.blogjava.net/hackang/archive/2006/03/28/37764.html</guid><wfw:comment>http://www.blogjava.net/hackang/comments/37764.html</wfw:comment><comments>http://www.blogjava.net/hackang/archive/2006/03/28/37764.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hackang/comments/commentRss/37764.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hackang/services/trackbacks/37764.html</trackback:ping><description><![CDATA[...........<br />...........<br /><br />import org.apache.struts.util.MessageResources;  <br />............<br />............<br />private static MessageResources MESSAGE = MessageResources.getMessageResources(<br />    "ApplicationResources");<br />  <br />    public static String getMessage(Locale locale, String key){<br />        return MESSAGE.getMessage(locale,key);<br />    }<br />    <br />    public static String getMessage(HttpServletRequest request,  String key ){<br />        Locale locale = request.getLocale();<br />        return getMessage( locale, key);<br />        <br />    }<br /><br /><br /><br /><br /><br />如在JSP页面可这样读取  &lt;%=XxxUtils.getMessage(request,"you message ")%&gt;<img src ="http://www.blogjava.net/hackang/aggbug/37764.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hackang/" target="_blank">龙卷风驿站</a> 2006-03-28 12:47 <a href="http://www.blogjava.net/hackang/archive/2006/03/28/37764.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>