??xml version="1.0" encoding="utf-8" standalone="yes"?>国产视频一区在线观看,欧美在线一区二区,日本一卡二卡四卡精品http://www.aygfsteel.com/jfy3d/category/1267.html<!--<a href=http://www.myjavaserver.com/~jfy3d/ target=_blank><img src='http://www.aygfsteel.com/images/blogjava_net/jfy3d/1610/t_myphoto.jpg' border='0' width='55' height='68'></a>--> <!-- Start FastOnlineUsers.com --> <a ><script type="text/javascript" src="http://fastonlineusers.com/on2.php?d=jfy3d.blogjava.net"></script> online</a> <!-- End FastOnlineUsers.com -->zh-cnTue, 27 Feb 2007 11:10:24 GMTTue, 27 Feb 2007 11:10:24 GMT60WebWork中自定义result视图使用POI生成Excelhttp://www.aygfsteel.com/jfy3d/archive/2006/04/11/40430.html剑事剑事Tue, 11 Apr 2006 04:16:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2006/04/11/40430.htmlhttp://www.aygfsteel.com/jfy3d/comments/40430.htmlhttp://www.aygfsteel.com/jfy3d/archive/2006/04/11/40430.html#Feedback4http://www.aygfsteel.com/jfy3d/comments/commentRss/40430.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/40430.htmlWebWork中除了默认支持的几中视图外还可以自己来定义需要的视图Q如JFreeChart,Excel{?br />
q里生成Excel用的是POI的API
WebWork中定义ResultType视图cd只需要承Result接口
代码如下

package com.customer.resulttype;

import com.opensymphony.xwork.Result;
import com.opensymphony.xwork.ActionInvocation;
import com.opensymphony.webwork.ServletActionContext;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;

public class ExcelResult implements Result{
    private HSSFWorkbook workbook;
    private String filename;
    private String contenttype;
    public void execute(ActionInvocation invocation) throws Exception {
        if(contenttype==null)
            contenttype = "application/ms-excel";
        if (workbook==null)
            workbook = (HSSFWorkbook) invocation.getStack().findValue("workbook");
      

        HttpServletResponse response = ServletActionContext.getResponse();
        response.setContentType(contenttype);
        response.setHeader("Content-Disposition","attachment;Filename="+filename+".xls");
        OutputStream os = response.getOutputStream();
        workbook.write(os);
        os.flush();
        os.close();
    }

    public void setWorkbook(HSSFWorkbook workbook) {
        this.workbook = workbook;
    }

    public void setFilename(String filename) {
        this.filename = filename;
    }

    public void setContenttype(String contenttype) {
        this.contenttype = contenttype;
    }
}

视图做完之后做如下配|运行测?br />
package com.customer.action;

import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.ActionSupport;
import com.opensymphony.webwork.ServletActionContext;
import com.dboperate.ResultGather;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ByteArrayInputStream;
import java.util.List;
import java.util.Map;

public class ExportExcelAction extends ActionSupport {
    private HSSFWorkbook workbook;

    public String execute() throws Exception {
        return SUCCESS;
    }

    public String product() throws Exception {
        try {
            workbook = new HSSFWorkbook();
            HSSFSheet sheet = workbook.createSheet();

            workbook.setSheetName(0, "厂商产品", (short) 1);
            HSSFRow row = sheet.createRow((short) 0);

            HSSFCell cell0 = row.createCell((short) 0);
            HSSFCell cell1 = row.createCell((short) 1);
            HSSFCell cell2 = row.createCell((short) 2);
            HSSFCell cell3 = row.createCell((short) 3);
            HSSFCell cell4 = row.createCell((short) 4);
            HSSFCell cell5 = row.createCell((short) 5);
            HSSFCell cell6 = row.createCell((short) 6);
            HSSFCell cell7 = row.createCell((short) 7);
            HSSFCell cell8 = row.createCell((short) 8);
            HSSFCell cell9 = row.createCell((short) 9);

            cell0.setEncoding(HSSFCell.ENCODING_UTF_16);//q里是设|编码保证中文正常显C?br />            cell1.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell2.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell3.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell4.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell5.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell6.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell7.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell8.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell9.setEncoding(HSSFCell.ENCODING_UTF_16);

            cell0.setCellValue("厂商?);
            cell1.setCellValue("产品?);
            cell2.setCellValue("重量");
            cell3.setCellValue("星");
            cell4.setCellValue("parama");
            cell5.setCellValue("paramb");
            cell6.setCellValue("paramc");
            cell7.setCellValue("paramd");
            cell8.setCellValue("状?);
            cell9.setCellValue("备注");

        } catch (Exception e) {
        }
        return SUCCESS;
    }

    public HSSFWorkbook getWorkbook() {
        return workbook;
    }


}

Xwork.xml中配|加?br />
        <result-type default="true" name="freemarker"
            <result-type name="excel" class="com.customer.resulttype.ExcelResult"/>
        </result-types>

 <action name="exportExcel" class="com.customer.action.ExportExcelAction">

            <result name="success" type="excel">
                <param name="filename">productparam>
               
            </result>

        </action>



剑事 2006-04-11 12:16 发表评论
]]>
webwork+Freemarker较完整的GRUD数据库操作例子(单方便用同一个页面INSERTQUPDATE。ƈ带分功能)http://www.aygfsteel.com/jfy3d/archive/2006/03/14/35191.html剑事剑事Tue, 14 Mar 2006 02:52:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2006/03/14/35191.htmlhttp://www.aygfsteel.com/jfy3d/comments/35191.htmlhttp://www.aygfsteel.com/jfy3d/archive/2006/03/14/35191.html#Feedback132http://www.aygfsteel.com/jfy3d/comments/commentRss/35191.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/35191.htmlq个例子也是一直以来用webwork的见Ş成的方式
虽然是简单例子,一些细节部分也做上M

以下是简单说明,详细可以参看源码

VIEW
通常一个insert,update操作都可以通过一个页面来完成Q?br />q里我设|form ?action=""  q样他默认提交到的是当前URL?br />
ACTION
在中定义几个Ҏ,以user!insert.ww的方式访问,
q样grud操作可以在一个ACTION中完成?br />    public String insert() throws Exception {
        ....
    }

    public String update() throws Exception {
        ....
    }

    public String delete() throws Exception {
        ....
    }

    public String list() throws Exception {
        ....
    }

DAO
下面是DAO接口
public interface BaseDao {
    public int insert(Object form);
    public int update(Object form);
    public int delete(Object form);
    public int delete(int[] id);//q里是ؓ了支持批量删?br />    public Map getInfo(Object form);
    public List getList();
    public void getList(Pagination page);//q里没有q回|内详。。。?br />}

EXTENDS
扩展部分
1 BaseAction
q里增加了一些公用方便的功能Q便于其他ACTIONl承Q共?br />2 DaoSupport
q里也是一些公用的功能QDao中用的大部分SQL都是配置在外部配|文件中


3DaoFactory
public class DaoFactory {
    public static BaseDao getDao(String daoKey){
        if("user".equals(daoKey)) //q样的方式可以通过在XWORK.XML中配|ACTION使用哪个DAOQ静态注入)
            return new UserDao();
        else
            return null;

    }
}


数据库是MYSQL5

CREATE TABLE `usertbl` (                                                                                                                                                                                                                                                                                                                
           `User_ID` int(11) NOT NULL auto_increment,                                                                                                                                                                                                                                                                                            
           `username` varchar(50) default NULL,                                                                                                                                                                                                                                                                                                  
           `password` varchar(50) default NULL,                                                                                                                                                                                                                                                                                                  
           `truename` varchar(50) default NULL,                                                                                                                                                                                                                                                                                                  
           `usersex` tinyint(4) default NULL,                                                                                                                                                                                                                                                                                                    
           `useremail` varchar(50) default NULL,                                                                                                                                                                                                                                                                                                 
           PRIMARY KEY  (`User_ID`)                                                                                                                                                                                                                                                                                                              
         )


源码下蝲地址
http://www.migti.com/download.ww



剑事 2006-03-14 10:52 发表评论
]]>
解决WEBWORK2.17中空文g上传时action报异帔R误的问题http://www.aygfsteel.com/jfy3d/archive/2006/02/20/31595.html剑事剑事Mon, 20 Feb 2006 02:15:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2006/02/20/31595.htmlhttp://www.aygfsteel.com/jfy3d/comments/31595.htmlhttp://www.aygfsteel.com/jfy3d/archive/2006/02/20/31595.html#Feedback0http://www.aygfsteel.com/jfy3d/comments/commentRss/31595.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/31595.htmlwebwork里上传文件比较方便,几行代码可以完成?BR>只是有个问题,是当form里的file控g没有选文件的时提交action
׃出现异常,通常很多应用中不一定非要带文g上传的,q个应该
webwork一个bug吧?BR>
从报错的地方可以查出是在fileupload拦截器中
String[] fileName = multiWrapper.getFileNames(inputName);
q一行开始中断掉?BR>是multiWrapper.getFileNames(inputName);中出现空指针错误

如果webwork.properties中配|的是pell上传?BR>需要找到PellMultiPartRequestq个cȝ以下Ҏ
//--------------------------------------------------------------------------------------
public String[] getFileNames(String fieldName) {
              // TODO - not sure about this - is this the filename of the actual file or
              // TODO - the uploaded filename as provided by the browser?
              // TODO - Not sure what version of Pell this class uses as it doesn't seem to be the latest 
              //q里倒是说明了条Ӟ是不知道ؓ什么还q么?BR>            return new String[]{multi.getFile(fieldName).getName()};
}
---------------------------------------------------------------------------------------//



可以看到
multi.getFile(fieldName).getName()如果文g为空肯定会报错的
可以先修Ҏ以下方式
//---------------------------------------------------------------------------------------
public String[] getFileNames(String fieldName) {
        if(multi.getFile(fieldName)!=null)   //多加一个判?BR>            return new String[]{multi.getFile(fieldName).getName()};
        else
            return new String[]{};
    }
----------------------------------------------------------------------------------------//
q样form里file不选文件就不在出异怺
用cos上传处理Ҏ一?BR>


除上面方?BR>q修改fileupload拦截器也可以解决
String[] fileName = multiWrapper.getFileNames(inputName);
扑ֈq行
然后修改成下面样?BR>//-----------------------------------------------------------------------------------
String[] fileName =null;

try{
      fileName = multiWrapper.getFileNames(inputName);
}catch(Exception ex){
      //file is null
}
-----------------------------------------------------------------------------------//



剑事 2006-02-20 10:15 发表评论
]]>
Spring + hibernate + webwork + freemarker 整合配置http://www.aygfsteel.com/jfy3d/archive/2005/11/06/18507.html剑事剑事Sun, 06 Nov 2005 15:48:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2005/11/06/18507.htmlhttp://www.aygfsteel.com/jfy3d/comments/18507.htmlhttp://www.aygfsteel.com/jfy3d/archive/2005/11/06/18507.html#Feedback0http://www.aygfsteel.com/jfy3d/comments/commentRss/18507.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/18507.html

学习的时候看了网上的一些配|教E,没有辑ֈ惌的结?BR>查了好多资料才弄出来Q随后后自己整理Z个配|方?BR>
web.xml 
// q里不需要配|字W过滤,|上有的例子加了Q实际上
webwork.properties里设|如下就可以了页面也是GBK
webwork.locale=zh_CN
webwork.i18n.encoding=GBK
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?BR><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/classes/applicationContext.xml</param-value>
    </context-param>

 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>

 <listener>
  <listener-class>com.atlassian.xwork.ext.ResolverSetupServletContextListener</listener-class>
 </listener>
    <!--
    <servlet>
    <servlet-name>context</servlet-name>
             <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
             <load-on-startup>1</load-on-startup>
     </servlet>
     -->
    <servlet>
        <servlet-name>webwork</servlet-name>
        <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>
        <load-on-startup>3</load-on-startup>
    </servlet>

 <servlet>
  <servlet-name>freemarker</servlet-name>
  <servlet-class>com.opensymphony.webwork.views.freemarker.FreemarkerServlet</servlet-class>
  <load-on-startup>10</load-on-startup>
 </servlet>

    <servlet-mapping>
        <servlet-name>webwork</servlet-name>
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>

 <servlet-mapping>
  <servlet-name>freemarker</servlet-name>
  <url-pattern>*.ftl</url-pattern>
 </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>

    <taglib>
        <taglib-uri>webwork</taglib-uri>
        <taglib-location>/WEB-INF/webwork.tld</taglib-location>
    </taglib>

</web-app>

Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?BR>
xwork.xml

==================---------------------------------------------
<?xml version="1.0"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">

<xwork>

  <include file="webwork-default.xml"/>
    <package name="users" extends="webwork-default"
        externalReferenceResolver="com.atlassian.xwork.ext.SpringServletContextReferenceResolver">

        <interceptors>
            <interceptor name="reference-resolver" class="com.opensymphony.xwork.interceptor.ExternalReferencesInterceptor"/>
            <interceptor-stack name="myDefaultWebStack">
                <interceptor-ref name="defaultStack"/>
                <interceptor-ref name="reference-resolver"/>
                <interceptor-ref name="model-driven"/>
       <interceptor-ref name="params"/>
            </interceptor-stack>
        </interceptors>

<default-interceptor-ref name="myDefaultWebStack"/>
        <action name="blogUser" class="com.jsblog.action.BlogUserAction">
   <external-ref name="baseDao">baseDaoTarget</external-ref>     //q里是把applicationContext里配|的DAO 注入action?action里要有baseDao属?BR>   <result name="success">/add.htm</result>
  </action>
-------------------------------------------------------------------------

applicationContext.xml

---------------------------------------------------------------------------
<?xml version="1.0"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="no" default-dependency-check="none" default-lazy-init="false">
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName">
            <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
        </property>
        <property name="url">
            <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jsblog;SelectMethod=cursor</value>
        </property>
        <property name="username">
            <value>sa</value>
        </property>
        <property name="password">
            <value>jfy</value>
        </property>
    </bean>

    <bean id="sessionFactory"
          class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref local="dataSource"/>
        </property>
        <property name="mappingResources">
            <list>
                <value>com/jsblog/BlogUserForm.hbm.xml</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    net.sf.hibernate.dialect.SQLServerDialect
                </prop>
                <prop key="hibernate.show_sql">true</prop>
            </props>
        </property>
    </bean>

    <bean id="transactionManager"
          class="org.springframework.orm.hibernate.HibernateTransactionManager">
        <property name="sessionFactory">
            <ref local="sessionFactory"/>
        </property>
    </bean>


    <bean id="baseDaoTarget" class="com.jsblog.dao.BlogUserDao">
        <property name="sessionFactory">
            <ref local="sessionFactory"/>
        </property>
    </bean>


</beans>
---------------------------------------------------------------------------

BlogUserDao.java
---------------------------------------------------------------------------
package com.jsblog.dao;

import org.springframework.orm.hibernate.support.HibernateDaoSupport;
import org.springframework.orm.hibernate.HibernateCallback;
import org.springframework.orm.hibernate.SessionFactoryUtils;
import com.jsblog.BlogUserForm;

import java.io.Serializable;
import java.util.List;

import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;

public class BlogUserDao extends HibernateDaoSupport implements BaseDao {

    public void insert(BlogUserForm bloguser) {
        getHibernateTemplate().save(bloguser);
    }

 

 

}



剑事 2005-11-06 23:48 发表评论
]]>
个h觉得一个不错的架构l合FreeMarker+webwork+hibernate+Springhttp://www.aygfsteel.com/jfy3d/archive/2005/05/18/4464.html剑事剑事Wed, 18 May 2005 03:08:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2005/05/18/4464.htmlhttp://www.aygfsteel.com/jfy3d/comments/4464.htmlhttp://www.aygfsteel.com/jfy3d/archive/2005/05/18/4464.html#Feedback1http://www.aygfsteel.com/jfy3d/comments/commentRss/4464.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/4464.htmlFreeMarker代替jsp作ؓview使用
原因是FreeMarkerQjava 的模板引擎,比jsp好的地方单的说速度快,语法单(因ؓview里不需要有什么复杂操作)Q当然的模板引擎q有别的如VelocityQ只是比FreeMarker功能逊色?BR>FreeMarker中文资料不大多,不过|上已经有h写了一些教E?BR>
Z么用webwork?BR>----
WebWork是由OpenSymphonyl织开发的Q致力于lg化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1Q现在的WebWork2.x前n是Rickard Oberg开发的WebWorkQ但现在WebWork已经被拆分成了Xwork1和WebWork2两个目?Xworkz、灵zd能强大,它是一个标准的Command模式实现Qƈ且完全从web层脱d来?Xwork提供了很多核心功能:前端拦截机(interceptorQ,q行时表单属性验证,cd转换Q强大的表达式语aQOGNL ?the Object Graph Notation LanguageQ,IoCQInversion of Control倒置控制Q容器等?WebWork2建立在Xwork之上Q处理HTTP的响应和h。WebWork2使用ServletDispatcherHTTPh的变成Action(业务层Actionc?, sessionQ会话)applicationQ应用程序)范围的映,requesth参数映射。WebWork2支持多视图表C,视图部分可以使用JSP, Velocity, FreeMarker, JasperReportsQXML{?BR>------
webwork在设计上优于目前常用的struts,jsf?BR>个hl验用过struts,webwork作东西候觉得webwork又明昄优势
Tapestry框架很不错不q资料少Q学习难度高
http://www.zahui.com/html/6/36141.htmq个是网上的相关比较仅供参?BR>关于框架比较|上文章也比较多

至于使用hibernateQSpring优点多多Q大安在学Q评价都不错自然是好东西



剑事 2005-05-18 11:08 发表评论
]]>
webwork2在weblogic下和tomcat下的中文问题解决http://www.aygfsteel.com/jfy3d/archive/2005/05/18/4176.html剑事剑事Wed, 18 May 2005 01:24:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2005/05/18/4176.htmlhttp://www.aygfsteel.com/jfy3d/comments/4176.htmlhttp://www.aygfsteel.com/jfy3d/archive/2005/05/18/4176.html#Feedback6http://www.aygfsteel.com/jfy3d/comments/commentRss/4176.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/4176.html
中文q方面webwork2比struts更容易解?nbsp; 不用讄fitlerqo了不?BR>当然webwork比strust的优势不只是q些

 jsp里都讄gb2312可以第一

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312">

有h说不能加Q加了反而ؕ码,我就没问题第?BR>
在webwork.properties里加上webwork.locale=zh_CNwebwork.i18n.encoding = GB2312

上面做完之后OK?面传|数据库插入读出都OK?BR>
不过q有需要解决的地方 用过struts的都知道<bean:message>是ؕ码的webwork也一P当然q是javaE序L本文仉的中文就是ؕ码的 解决Ҏ我以前知道的是用native2ascii来{换资源文Ӟ不过转后在编辑就不认识了Q修改依ơ{依次ȝ啊所以我q是选择修改webwork textTag的源?Q很单的

扑ֈTextTag.java 然后扑ֈ下面q段

if(msg != null) {           
        try{
              msg = new String(msg.getBytes("iso-8859-1"));//加入q行OK了,q样会媄响到国际化,Q可以判断如果不是zh_CN׃执行转码Q我q没试过Q?nbsp;              
            if(getId() == null)               
            {                   
                     pageContext.getOut().write(msg);                
            } else  {           
                     stack.getContext().put(getId(), msg);               
            }           
       } catch(IOException e) { 
               throw new JspException(e);           
      }       
}

struts里也可以q么做的

q样׃用在对资源文件进行native2ascii?BR>
W三

q有会ؕ码的地方是fileupload  上传中文名的文g会遇到文件名q问题

解决Ҏ试在webwork.properties讄一?BR>
webwork.multipart.parser=pell    //不要用cos

tomcat下中文解x式和上面相同Q不q还需要多加一个URIEncoding="GBK"
位置在server.xml里解决url里有中文出现的ؕ?BR>    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="80"               minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="100" debug="0" connectionTimeout="20000"
               useURIValidationHack="false" disableUploadTimeout="true" URIEncoding="GBK"/>

OK 目前我遇到的p些了


剑事 2005-05-18 09:24 发表评论
]]>
在webwork2的action里取request.getParameter参数http://www.aygfsteel.com/jfy3d/archive/2005/05/12/4183.html剑事剑事Wed, 11 May 2005 16:12:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2005/05/12/4183.htmlhttp://www.aygfsteel.com/jfy3d/comments/4183.htmlhttp://www.aygfsteel.com/jfy3d/archive/2005/05/12/4183.html#Feedback1http://www.aygfsteel.com/jfy3d/comments/commentRss/4183.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/4183.htmlwebwork的action已经q的requestQ是用getXxx()来取提交q来的参?BR>如果在写E序的时候特定需要自己来取Parameter可以通过以下两种Ҏ实现

W一U用ActionContextc,所有的参数都从q里ActionContext.getContext().getParameters()?BR>他返回的是一个Mapcd
Map param= ActionContext.getContext().getParameters();
如果有一个提交过来的username
那就可以q样?BR>param.get("username");不过q里要注意一下param.get("username")是一个String数组(Z么要q回数据我也不知道,我从weblogicH口看到param.get("username")被out出来Ljava.lang.StringQ忙zM半天)

  String value[] = (String[])param.get("username");
  String username = "";
  for(int i=0;i<value.length;i++)
  {
   username +=value[i];
  }
q样可以得到正的username?/P>

W二U方法是直接把request引用q来

ServletActionContext.getRequest().getParameter("username")
ServletActionContext.getRequest()是httpservletrequest
q个cdimport com.opensymphony.webwork.ServletActionContext
用v来方便些



剑事 2005-05-12 00:12 发表评论
]]>
webwork2+FreeMarker 制作数据列表昄单实?/title><link>http://www.aygfsteel.com/jfy3d/archive/2005/05/11/4174.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Wed, 11 May 2005 07:41:00 GMT</pubDate><guid>http://www.aygfsteel.com/jfy3d/archive/2005/05/11/4174.html</guid><wfw:comment>http://www.aygfsteel.com/jfy3d/comments/4174.html</wfw:comment><comments>http://www.aygfsteel.com/jfy3d/archive/2005/05/11/4174.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jfy3d/comments/commentRss/4174.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jfy3d/services/trackbacks/4174.html</trackback:ping><description><![CDATA[<div id="wmqeeuq" class=postText> <P>刚刚接触了FreeMarker觉得不错</P> <P>做了个小例子<BR>刚刚接触了FreeMarker觉得不错做了个小例子,没有用到jsp和jsptag </P> <P>首先建立个数据表里面有username,password两个字段自己随便加几条数?BR>建立一个webwork  action    TestAction.java<BR>在xwork.xml里加入如下内?BR>----------------------------------------<BR>     <ACTION class=com.action.TestAction name="test"><BR>      <RESULT name="success" type="freemarker">/test.flt</RESULT><BR>    </ACTION> <BR>----------------------------------------<BR>TestAction.java代码如下<BR>--------------------------------------------------<BR>package com.action;</P> <P>import com.opensymphony.xwork.ActionSupport;<BR>import java.util.*;<BR>import com.ResultGather;</P> <P>public class TestAction extends ActionSupport <BR>{<BR> private List lis;<BR> private ResultGather rs;<BR> public List getLis()<BR> {<BR>  return this.lis;<BR> }<BR> public String execute() throws Exception <BR> {<BR>  rs = new ResultGather();<BR>  lis = rs.selectRS("select * from userbasedatum");//数据l果我是用List,HashMap装?HashMap存的是单条记?BR>  return SUCCESS;<BR> }<BR>}</P> <P>-------------------------------------------------------------------------------------------------------------------<BR>ResultGather.java代码如下<BR>----------------------------------------------------------<BR>package com;</P> <P>import conn.DBConnManager;//数据库连接池<BR>import java.sql.*;<BR>import java.util.*;</P> <P>public class ResultGather <BR>{<BR> private String sql;<BR> public ResultGather()<BR> { <BR> }<BR> public ResultGather(String sqlcom)<BR> {<BR>  this.sql=sqlcom;<BR> }<BR> public List selectRS(String sqlStr)<BR> {<BR>  this.sql = sqlStr;<BR>  return selectRS(); <BR> }<BR> public List selectRS() //数据l果在这里装入List和Map<BR> {<BR>  List rsall = new ArrayList();<BR>  DBConnManager conn = null;<BR>  Connection  con = null;<BR>  Statement stmt = null;<BR>  ResultSet rs = null;<BR>  Map rsTree;<BR>  try{<BR>   conn = DBConnManager.getInstance();<BR>   con = conn.getConnection("mssql");<BR>   stmt = con.createStatement();<BR>   rs = stmt.executeQuery(sql);<BR>   ResultSetMetaData rsmd = rs.getMetaData();<BR>   int numberOfColumns = rsmd.getColumnCount();<BR>   while(rs.next())<BR>   {<BR>   rsTree = new HashMap(numberOfColumns);<BR>    for(int r=1;r<NUMBEROFCOLUMNS+1;R++)<BR>    {<BR>     rsTree.put(rsmd.getColumnName(r),rs.getObject(r)); <BR>     <BR>    }<BR>    rsall.add(rsTree);<BR>   }<BR>   <BR>  }catch(java.lang.Exception ex){<BR>   ex.printStackTrace();<BR>  }finally{<BR>   try{<BR>    if(rs!=null)<BR>     rs.close();<BR>    if(stmt!=null)<BR>     stmt.close();<BR>    if(conn!=null)<BR>     conn.releaseConnection("mssql",con);<BR>   }catch(Exception e){<BR>    System.out.println(e);<BR>   } <BR>  }<BR>  return rsall;<BR> }<BR> }<BR>-----------------------------------------------------------------------------------------------<BR>test.flt代码如下<BR>-----------------------------------------------------------------------------------------<BR><#list lis as x><BR>${x.username},<BR>${x.password}<BR><BR></#list><BR></#LIST>     //freemarker用法|上有相关介l?BR>-------------------------------------------------------------------------------------</P> <P>OK 完成?没有用到jsp<%.....%>和jsptag<BR>用这个例子做一点修改就可以h分页用能?/P></DIV><img src ="http://www.aygfsteel.com/jfy3d/aggbug/4174.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jfy3d/" target="_blank">剑事</a> 2005-05-11 15:41 <a href="http://www.aygfsteel.com/jfy3d/archive/2005/05/11/4174.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ݳ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɣ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ½</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϊ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͼʲ</a>| <a href="http://" target="_blank">ڶ</a>| <a href="http://" target="_blank">Ƹ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">麣</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">³ƶ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ͻ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ԫ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˫</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>