posts - 403, comments - 310, trackbacks - 0, articles - 7
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

jQuery1.1 API 英文版:http://jquery.org.cn/visual/
jQuery1.1 API 英文版:http://jquery.org.cn/visual/cn/index.xml

Interface 插件:http://interface.eyecon.ro/

Google到了这两个好东东,写Javascript方便不少,试着把Project2重写了一下。

1. 隐藏窗口只要简单地
$("a.closeButton").parent().parent().parent().fadeOut("slow");
就可以了,而且还有其他移出、缩小等效果可以选择。

2. 拖动
$("div.miniframe").Draggable({
  snapDistance: 10,
  frameClass: "frameClass",
});
在CSS中定义.frameClass为被拖动状态时的miniframe样式。

3. 获取输入框文本
var str = $("input[@id=idnumber]").val();
获取列表选中项
$("select[@id=bornyear]").val()


4. 修改文本属性
$("#author").text("游客");

posted @ 2007-05-03 14:09 ZelluX 阅读(1678) | 评论 (2)编辑 收藏

1. java.util.AbstractionCollection
  a) add(E o)方法只有一行
throw new UnsupportedOperationException();
由于不同的容器有不同的加入元素的方法,这么做应该是为了方式它的子类调用父类的这个方法。
既然如此,为什么不把方法声明为abstract呢?

  b) 容器类的toString()方法就是从AbstractionCollection里继承的。

posted @ 2007-05-03 01:33 ZelluX 阅读(475) | 评论 (0)编辑 收藏

1. CSS控制input标签的风格有点麻烦,google到了一种在css中使用三元判断语句的方法:
1input {
2    width: expression(this.type!="submit"?'150px':'');
3    height: 23px;
4}

2. 循环<c:forEach var="i" begin="1" end="${pages}">
 
3. 分支
1<c:choose>
2  <c:when test="${boolean1}"></c:when>
3  <c:when test="${boolean2}"></c:when>
4  <c:otherwise></c:otherwise>
5</c:choose>


4. DisplayTag 标签库
这东东真不错,支持奇偶数行css分离、自动换页等功能。
a) <display:table name="test" />
这样一行代码就能自动列出test内的所有属性了。
b) 如果要只列出指定的列,可以使用

<display:table name="test">
   
<display:column property="id" title="ID" />
   
<display:column property="name" />
   
<display:column property="email" />
   
<display:column property="status" />
   
<display:column property="description" title="Comments"/>
</display:table>

c) 指定某一列的样式:<display:column property="id" title="ID" class="idcol"/>
d) 创建简单的动态链接
<display:column property="email" href="details.jsp" paramId="action" paramName="testparam" paramScope="request" />
这样只能产生details?action=xx的链接

d) 自定义动态链接
写一个类,继承org.displaytag.decorator.TableDecorator
package util;

import org.displaytag.decorator.TableDecorator;

public class Decorator extends TableDecorator {
  
public String getEditLink() {
    beans.Policy p 
= (beans.Policy)getCurrentRowObject();
    
int pId = p.getId();
    
return "<a href=\"servlet/editItem?id=" + pId + "\">@</a>";  
  }

}
然后在jsp中声明这个Decorator
<display:table name="policies" id="PolicyList" decorator="util.Decorator">
增加相应的列
<display:column title="Edit" property="editLink"/>
e) 生成的html代码中奇偶数行的类分别为.odd和.even,在CSS中就能区分它们了。
f) 分页
display:table 中加个属性pagesize="10"即可,不过觉得这部分还是在数据库中解决比较高效。
g) 排序
列中的对象要实现Comparable接口,没有的话可以使用Decorator
display:table 中的属性
defaultsort="1"   默认以第一列为主键排序
defaultorder="descending"  递减
也可以在display:column中增加属性sortable="true" headerClass="sortable"
官方给出的sample中的那个sortable列表头很漂亮,有两个小按钮选择排序方式。

posted @ 2007-05-02 13:35 ZelluX 阅读(512) | 评论 (0)编辑 收藏

2007-3-11

1. 字符串:
a) 使用三引号(’’’或”””)用来指示多行的字符串,其中可以自由的使用单引号或双引号。
b) 自然字符串:在字符串前加上r或R,表示不需要转义符特殊处理。
c) Unicode字符串:串前加u。
d) 和Java一样,字符串不可变。
e) Python没有专门的char类型。
f) 使用正则表示式时,建议使用自然表达式处理。
2. 标识符:必须以字母或下划线起始,其他部分可以有数字,大小写敏感。
3. 行:
a) 每个Python程序都有一些逻辑行(logical liens)组成,后者通常由若干物理行(physical lines)组成。
b) 每个物理行都可以由一条注释结束,不在字符串中的#符号表示一条注释。
c) 在一个交互解释界面中,必须通过输入空行来结束多行语句。
d) ; 可以用于分割一物理行中的不同逻辑行,但Python中很少出现 ;
e) 转义符 \ 也可以用于行末表示在下一行继续。
4. 缩进:
a) 缩进对于Python中很重要,错误的缩进很有可能会引发错误。
b) 同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。
5. 运算
a) // 返回商的整数部分,即Java中的 \
b) 比较运算符可以被任意连结,如3<5<7返回True。
6. 控制流
a) raw_input(‘Input a number: ‘) 将字符串输入到屏幕上,并等待用户的输入,返回字符串。有点像Basic的input。
b) if 语句中elif相当于else if。一个简单的if语句:
if True:
    print ‘It is true’
c) Python中没有switch语句,使用if-elif-else代替。
d) while, for语句中也可以有else:,注意与while, for对齐
e) for i in range(1, 5)
依次循环i=1, 2, 3, 4
range()返回一个序列的数,包括1,不包括5。另外可以再增加一个步长参数,如range(0, 4, 2)生成0和2
f) break语句跳出后,else语句不被执行。
7. 函数
a) 形参:函数头中声明的参数;实参:提供给函数调用的参数。
b) 函数块并不会修改块外参数的值。可以使用global语句声明为全局变量,但应尽量避免。
c) 默认参数值:直接在函数头中赋值。但只有在末尾的参数才可以有默认值。
d) 关键参数。

posted @ 2007-05-02 01:09 ZelluX 阅读(422) | 评论 (0)编辑 收藏

开始做05Web应用课的Project3。
主要为了实践下EL/JSTL,以及用servlet + jsp + javabean的mvc架构;SQL嘛上学期学过,Core Java II里介绍得也比较详细,所以直接用Hibernate持久层解决问题了。

1. jsp里form action指向的路径居然打成了"servet/loginServet",然后tomcat报错。查了好一会儿web.xml也没发现什么问题,然后很郁闷的发现居然是jsp里路径写错了 

2. 登录jsp递交到servlet时如何隐藏用户名密码呢?


3. admin登录后要显示Policy列表。我建了个beans.Policies类,然后在控制器servlet中
List policies = beans.Policies.getPolicies();   //还没实现分页功能
然后再setAttribute递交给显示页面。
觉得不应该这么做,尽管的确是mvc分离了,但很占资源,而且貌似Policies类每处理一次请求都要访问一次数据库,不知道有没有更好的方法。JavaBean?

4. Policy列表行颜色深浅相间的效果。在饮水思源上看到过类似的问题,貌似正规的做法是自定义标签。。。

posted @ 2007-05-02 01:05 ZelluX 阅读(434) | 评论 (0)编辑 收藏

struts标签库中有相应html:file标签,enctype这个属性貌似去掉也可以,不知道有什么用。
1<html:form action="/upload" enctype="multipart/form-data">
2theFile : 
3<html:file property="theFile" />
4<html:errors property="theFile"/><br/>
5<html:submit/>
6</html:form>
网上看到的例子是在Action类中处理的,不知道这么做合不合理,这个是简单的处理代码,没有验证文件大小和同名文件是否存在,注意先要在相应目录中建立file目录。
 1UploadForm uploadForm = (UploadForm) form;// TODO Auto-generated method stub
 2FormFile file = uploadForm.getTheFile();
 3try {
 4  InputStream stream = file.getInputStream();
 5  String filePath = getServlet().getServletContext().getRealPath("/");
 6  OutputStream fileout = new FileOutputStream(filePath + "/file/" + file.getFileName());
 7  int bytesRead = 0;
 8  byte[] buffer = new byte[8192];
 9  while ((bytesRead = stream.read(buffer, 08192)) != -1{
10    fileout.write(buffer, 0, bytesRead);
11  }

12  fileout.close();
13  stream.close();
14}
 catch (Exception e) {
15  System.err.println(e);
16}

一点积累:
1. Action类代码中要获得当前地址可以使用
getServlet().getServletContext().getRealPath(String)

2. Forward的目标地址前面貌似都要加"/"。 Path success.jsp does not start with a "/" character

posted @ 2007-05-01 21:04 ZelluX 阅读(462) | 评论 (0)编辑 收藏

1. 控制器以请求中的值来填写ActionForm实例之前,会先调用reset()方法。将ActionForm的值重新设置回原来的状态很重要,因为表单bean实例可能会由多个请求共享或者好几个不同的线程所存取。不过,如果是让好几页共享一个ActionForm实例,可能不会想去实现reset()方法,这样这个实例的性质就不会被重新设置。

2. Struts 1.1 多了一个新的ActionForm类型,名为org.apache.struts.action.DynaActionForm。它可以配置给动作映射,并自动处理从HTML表单传递给这个Action对象的数据。原因在于它在内部使用了一个Map对象存储数据。

3. JSP 主要的问题是:
   a) 开发人员可以自由的将应用逻辑内嵌到JSP页面中,结果使得程序难以维护(JSP2.0中可以配置JSP页面,使其不能使用scriptlet)
   b) JSP页面有变动时,容器必须重新编译JSP页面。
一种常见的替代方案是结合XML和XSLT。

4. Struts 1.1 可以为应用程序定义多个MessageResource。


5. war文件实际上就是zip文件。

6. Struts 配置
呃,这一块怎么这么熟呢?貌似孙卫琴的那本精通struts从这里抄了一堆东西。。。。

posted @ 2007-05-01 19:12 ZelluX 阅读(373) | 评论 (0)编辑 收藏

 1. Struts框架在1.1版以前,ActionServlet 的工作只有接收请求,以及调用适当的处理器来进行处理。到了1.1版,引入了一个名为org.apache.struts.action.RequestProcessor的新类,由它来为控制器处理请求。把请求的处理责任从ActionServlet分离出来的主要原因,是要让你能保有灵活性,从而可以继承RequestProcessor类,编写自己的子类,并修改请求的处理方式。

2. Struts框架只会为每个Action类创建一个实例,因此要确保你的Action类能在多线程的环境下正常工作。


3. Struts1.1的新功能之一是能够声明异常处理,而不需要在程序中使用try/catch块捕捉。可以在Struts配置文件中指定这些信息:
1<global-exceptions>
2  <exception
3    key="global.error.invalidlogin"
4    path="/login.jsp"
5    scope="request"
6    type="mypack.InvalidLoginException" />
7</global-exceptions>
这个配置将在InvalidLoginException被抛出时,转向login.jsp,并使用资源包的global.error.invalidlogin来构建一个错误消息。

4. 模型组件的一些基本概念:
Business object 业务对象
Presentation object 表示对象
Data transfer object(DTO) 数据传输对象,有时称为值对象Value object

posted @ 2007-04-29 22:15 ZelluX 阅读(474) | 评论 (0)编辑 收藏

zz的

(1)     打开conf\httpd.conf文件将以下字段前的注释(”#”)去除
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
(2)     在conf\httpd.conf文件的末尾添加以下内容:
ProxyRequests Off
ProxyPass /admin balancer://tomcatcluster/admin  lbmethod=byrequests stickysession=JSESSIONID  nofailover=Off timeout=5  maxattempts=3
ProxyPassReverse /admin balancer://tomcatcluster/admin
 
<Proxy balancer://tomcatcluster>
BalancerMember ajp://localhost:8009 route=tomcat8080
BalancerMember ajp://localhost:10009 smax=10 route=tomcat10080
BalancerMember ajp://localhost:11009 route=tomcat11080
BalancerMember ajp://localhost:12009 smax=10 route=tomcat12080
</Proxy>
(3)     找到以下内容
# Virtual hosts
# Include conf/extra/httpd-vhosts.conf
将第二行前面的”#”去除.
(4)     打开conf/extra/httpd-vhosts.conf文件,在文件末尾添加以下内容:
<VirtualHost *:80>
    ServerAdmin 127.0.0.1
    DocumentRoot "D:\Program Files\Apache oftware Foundation\Tomcat 5.5\webapps"
    ServerName 127.0.0.1
    ErrorLog logs/127.0.0.1_error_log
    CustomLog logs/dummy-127.0.0.1-access_log common
    ProxyPass / ajp://localhost:8009/
    ProxyPassReverse / ajp://localhost:8009/
    ServerName localhost
    ServerAlias 127.0.0.1
</VirtualHost>

posted @ 2007-04-27 16:54 ZelluX 阅读(628) | 评论 (0)编辑 收藏

根据书上的做法基本没什么问题,只是最新版本的Hibernate已经没有Session.find方法了。老的Session类已经被放到了org.hibernate.classic包中。
API中建议使用
session.createQuery代替

例:
List<Policy> policies = session.createQuery("from Policy as p").list();

另外还没找到使用MyEclipse Reverse Engineering向导自动配置多对一的方法。

posted @ 2007-04-27 16:27 ZelluX 阅读(785) | 评论 (0)编辑 收藏

仅列出标题
共39页: First 上一页 26 27 28 29 30 31 32 33 34 下一页 Last