orsen成长录

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  3 随笔 :: 2 文章 :: 0 评论 :: 0 Trackbacks

2009年9月24日 #

一:form要继承validate以上的form类这样才可以,但是前台验证可以重写父类的validate方法
后台验证必须继承ValidatorForm或ValidatorActionForm,测试发现:如果只做前台验证的话,不论用那个都可以。
二:在struts-config.xml加入,加载Struts的动态验证模块。
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames"
          value="/org/apache/struts/validator/validator-rules.xml,
              /WEB-INF/validation.xml"/>
</plug-in>
三:在增加validation.xml文件,配置需要验证的Form表单。
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE form-validation PUBLIC
     "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"
     "http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">
<form-validation>
    <formset>
  <form name="userInfoForm" >
   <field property="username" depends="required">
    // resource="false"说明不用Struts的资源文件,输出消息自己写
    //有多个Struts资源文件 bundle="这里是自愿文件的key值"
    <msg name="required" key="用户名必填" resource="false"/>
   </field>
   <field property="password" depends="required">
    <msg name="required" key="errors.required"/>
    //给资源文件赋值研究
    <arg key="errors.required" position="0" name="password"/>
   </field>
  </form>
    </formset>
</form-validation>
四:网页端,在网页中应用。
注意:form一定要用html:form包装,负责不能通过自动验证
<!--使用生成生成脚本验证该表单-->
<html:form action="userinfo.do?method=login"  method="post"  onsubmit="return validateUserInfoForm(this)">
 用户名称:<input type="text" name="username"><br>
 拥护密码:<input type="password" name="password"><br>
 <input type="submit" value="登陆"><br>
</html:form>
<!--动态生成验证脚本-->
<html:javascript formName="userInfoForm"/>
posted @ 2009-09-29 20:19 Orsen 阅读(128) | 评论 (0)编辑 收藏

     摘要:        今天想学学正则表达式,就随便写了个爬虫。由于才疏学浅,有不足地方请多多指出。         网页来源,是自己在网上爬写URL保存到文件中,然后在根据文件中的URL来找该网页中的Email地址。具体实现看代码 import ...  阅读全文
posted @ 2009-09-24 22:06 Orsen 阅读(370) | 评论 (0)编辑 收藏

--通过使用隐式游标和记录为mydept表添加内容
Declare  
Type  dept_rec 
Is Record
(
     r_deptno  dept.deptno
%Type,
     r_dname   dept.dname
%Type,
     r_loc     dept.loc
%Type
);
v_deptrec   dept_rec;
Begin
     
Select deptno,dname,loc Into v_deptrec From dept
     
Where deptno=&dno;
     
Insert Into mydept Values v_deptrec;
      dbms_output.put_line(
'插值成功');
     Exception 
     
When NO_DATA_FOUND Then
     dbms_output.put_line(
'该部门不存在');
     
When Others Then
     dbms_output.put_line(
'发生异常,插值失败');
End ;


--结合游标从DEPT表中查询数据,将相应的数据插入到MYDEPT表中
Declare  
Type  dept_rec 
Is Record
(
     r_deptno  dept.deptno
%Type,
     r_dname   dept.dname
%Type,
     r_loc     dept.loc
%Type
);
Cursor dept_cursor Is
Select * From dept Order By deptno Asc;
v_deptrec   dept_rec;
Begin

      
--打开游标
      Open dept_cursor;
      
--从游标中取值
      Fetch dept_cursor Into v_deptrec;
      
While(dept_cursor%Found) Loop
           
Insert Into mydept Values v_deptrec;
      dbms_output.put_line(
'插值成功');
      
Fetch dept_cursor Into v_deptrec;          
      
End Loop;
      
Close dept_cursor;
     Exception 
When Others Then
     dbms_output.put_line(
'发生异常,插值失败');
End ;


--使用面向游标的记录
--
通过面向游标的记录显示部门信息
Declare Cursor dept_cursor
Is
Select * From mydept Order By deptno Asc;
--定义一个面向游标的记录
v_deptrec dept_cursor%Rowtype;
Begin
     
Open dept_cursor;
     Loop 
     
Fetch  dept_cursor Into v_deptrec;      
          
Delete From mydept Where deptno=v_deptrec.deptno;
          dbms_output.put_line(v_deptrec.deptno
||' 信息删除成功');
     
Exit When dept_cursor%Notfound ;
     
End Loop;
     
Close dept_cursor;
     Exception 
When Others Then
     dbms_output.put_line(
'发生异常,删除失败');
End;
posted @ 2009-09-24 12:58 Orsen 阅读(125) | 评论 (0)编辑 收藏