GAE(Google App Engine)上Java开发两条Tips

 

 GAE(Google App Engine)上Java开发两条Tips

 

1、所有的非jsp,java文件需要在appengine-config.xml中配置为static-files 或者 resource-files,否则无法上传到GAE服务器

2、所有跑在GAE上的对象必须实现Serializable接口,否则可能出错

 

 


Tags: Google  struts  struts2  java  java基础  gae  
GAE(Google App Engine)上使用Struts2

 

使用Struts2时候报异常

WARNING: Caught OgnlException while setting property 'location' on type 
'org.apache.struts2.dispatcher.ServletDispatcherResult'. 
java.lang.IllegalAccessException: Method [public void 
org.apache.struts2.dispatcher.StrutsResultSupport.setLocation(java.lang.Str ing)] 
cannot be accessed. 
   at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:508) 
   at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:812)

 

SEVERE: ParametersInterceptor - [setParameters]: Unexpected Exception 
caught setting 'name' on 'class com.ociweb.gaestruts2.HelloAction: Error 
setting expression 'name' with value '[Ljava.lang.String;@24de7d'

 

解决方法:

1. 建class如下..............

 


Tags: Google  struts  struts2  java  java基础  gae  
Struts2 ognl中的#、%和$符号用法说明

  #、%和$符号在OGNL表达式中经常出现,而这三种符号也是开发者不容易掌握和理解的部分。在这里笔者简单介绍它们的相应用途。

1.#符号的用途一般有三种。
   1)访问非根对象属性,例如示例中的#session.msg表达式,由于Struts 2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀。实际上,#相当于ActionContext. getContext();#session.msg表达式相当于ActionContext.getContext().getSession(). getAttribute(”msg”) 。
    2)用于过滤和投影(projecting)集合,如示例中的persons.{?#this.age>20}。
    3)用来构造Map,例如示例中的#{'foo1':'bar1','foo2':'bar2'}。

2.%符号................


Tags: struts2  标签  taglib  struts  ONGL  
在Struts 2.0中国际化(i18n)您的应用程序

国际化是商业系统中不可或缺的一部分,所以无论您学习的是什么Web框架,它都是必须掌握的技能。

其实,Struts 1.x在此部分已经做得相当不错了。它极大地简化了我们程序员在做国际化时所需的工作,例如,如果您要输出一条国际化的信息,只需在代码包中加入FILE-NAME_xx_XX.properties(其中FILE-NAME为默认资源文件的文件名),然后在struts-config.xml中指明其路径,再在页面用<bean:message>标志输出即可。

不过,所谓“没有最好,只有更好”。Struts 2.0并没有在这部分止步,而是在原有的简单易用的基础上,将其做得更灵活、更强大。

国际化Hello World

下面让我们看一个例子——HelloWorld。这个例子演示如何根据用户浏览器的设置输出相应的HelloWorld。.........


Tags: struts2  标签  taglib  struts  ONGL  
关于J2EE分层及框架的比喻
liujunsong 写道
打个比方.
现在的j2ee开发,就好象对面来了一个人.
最外面穿着一件风衣(HTML)
风衣里面穿着西装(Struts)
西装里面穿着马甲(Spring)
马甲里面穿着衬衫(Hibernate)
衬衫的里面才是真实的人(数据库)
全部衣服都是采用棉布做成的(Java)
每件衣服上都可能有其他配件(第3方库)
各件衣服之间需要配套使用..............
Tags: java  javajsp  java基础  Java容器  Spring  struts标签  struts2  Struts Menu  struts  Hibernate  框架  模型  模式  
经典老贴:使用AppFuse进行开发的总结,及使用的相关技术介绍

AppFuse是一个集成了当前最流行的Web应用框架的一个更高层次的Web开发框架,
也可以说是一个Web开发基础平台,它与它所集成的各种框架相比,它提供了一部分所有Web系统开发过程中都需要开发的一些功能,如 :
 

11:登陆、
22:用户密码加密
33:用户管理
44:根据不同的用户可以展现不同的菜单


1a:可以自动生成40%-60%左右的代码
2b:自带了默认的一些在CSS中设定的样式,使用这些样式能很快的改变整个系统的外观
3c:有自动化测试的功能

 



它最大的价值就是为我们提供了一个Web开发的新的方式和思路,尽管这些技术在国外都已进很流行了,但在国内能够将



 1Hibernate
 2Struts
 3Spring
 4DBUnit
 5Ant
 6Log4J
 7Struts Menu
 8Xdoclet
 9SiteMesh
10Velocity
11JUnit
12JSTL
13WebWork

这些技术集成到一个框架中的还不多见,所.....................


Tags: AppFuse  java  Hibernate  struts  Spring  DBUnit  Ant  log4j  Struts Menu  Xdoclet  SiteMesh  velocity  JUnit  JSTL  WebWork  
Struts 应用转移到 Struts 2 ( 二 )

  在上篇文章中,我们已经从较高层解释了整个框架的结构,请求流程的基础,配置方式和Struts2和Struts1的不同之处。了解这些后从Struts 应用 迁移到 Struts 2 不再是难事。
    在这篇文章中,我们将会更详细地讲述如何由Struts 的action转为Struts 2的action。

一个应用的例子
这个例子选择了大家都熟悉的 - weblog. 简单地介绍下这例子的功能需求:
 增加一个新的日志

  1. 察看一个日志
  2. 修改一个日志
  3. 删除一个日志
  4. 列出所有日至  

     增删修改(CRUD),是项目中最为普遍的应用。

总结
    我们并不可能在这篇文章中覆盖所有的内容,如果你需要更好的了解整个框架,还有其他的实现方式和选项,这里有几点可以供你参考:

 

  • 配置拦截器和拦截器组 - 以Struts2-core JAR 包里的"struts-default.xml" 文件作为例子。"struts-default.xml" 演示了如何配置你自己的拦截器组,包含新的拦截器,你可以尝试实现自己的拦截器。
  • 配置文件中的通配符模式 - 你可以选择使用Struts2中的通配符模式来简化你的配置。
  • 通过 ParameterAware 接口把form值传入maps中 - 你可以在Struct2中配置,让所有request的form属性都存于action的一个map中,这样就不需要专门再为action指定model / transfer / value object了。这和Struts的dynamic form特点很相似。

    也许到现在为,也许你有个疑问,"迁移后我们的界面是否可以完全重用呢?",答案是yes。你能从这里, 下载到我这篇文章中的完整源代码,你可以自己尝试把URL的扩展名由".do" 改为 ".action",使用的页面时一样的。除此之外,其实用JSTL来代替Struts taglib也是很容易的。
在下一篇文章中,我们将讲述用户界面,讨论themes 和 tags; 如何做validation;  如何重用UI控件。
 


Tags: struts  struts2  开发  java  
将Struts应用迁移到Struts 2(一)

有很多人都很熟悉 Struts, 无论是从项目中直接获得的实战经验还是从书中了解到的。我们这一系列文章,将通过一个由 Stuts 转移到 Struts2 简单的例子向大家展现Struts2的所有特征。
    在我们开始这个例子之前,你需要去知道一点 Struts2的背景知识。 在第一部分的文章中,我们将介绍Struts2与Struts的核心框架的不同点,以助于更好地了解其他方面的整合。第二部分中,我们将深入探讨 actions 的差别, action相关的框架特征,和action配置。在最后一部分中,我们将会讲述 user interface,我们也会讲到其架构,UI构件,themes 和标签。 还有如何为你的应用加上新的外观。
    我们并不打算谈及迁移过程的所有细节方面,我们只是从出发点开始介绍Struts2 的概念和现在可用的所有特征。但拥有这些知识,你将在以后Struts2的应用中无往而不利。
   
Struts的历史
    Struts的第一个版本 是在 2001年5月份发布。它提供了一个Web应用的解决方案,如何让 JSPs 和 servlets 共存去提供清晰的分离视图和业务和应用逻辑的架构。在Struts之前,最通常的做法是在JSP中加入业务和应用逻辑,或者在servlets中生成视图。
    自从第一个版本的发布, Struts 实际上已成为业界公认的Web应用标准。但随着时间的推移,Web应用框架经常变化的需求,产生了几个下一代 Struts的解决方案。其中两个可选方案是Shale 和 Struts Ti。 Shale 是一个基于构建的框架,并在最近成为 Apache 中的重要项目。而 Struts Ti 则是继续坚持 MVC模式的基础上改进,继续Struts的成功经验。
    WebWork项目是在2002年3月发布的,它对Struts式框架进行了革命性改进,引进了不少新的思想,概念和功能,但和原Struts代码并不兼容。WebWork是一个成熟的框架,经过了好几次重大的改进与发布。在2005年12月,WebWork与Struts Ti决定合拼, 再此同时, Struts Ti 改名为 Struts Action Framework 2.0,成为Struts真正的下一代。


Tags: struts  struts2  开发  java  
struts2.0 使用 方法名.do 访问action中的方法,出现没有映射错误的解决

想用 方法名 + .do 的方法直接访问Action中的方法,可以一直访问不到,出现 no mapped 的错误. 测试几次,把问题锁定在 struts.properties 配置文件中.
经过查阅该配置的详解之后,发现一项配置我没有.加上之后就好了.
引用
struts.enable.SlashesInActionNames
   该属性设置Struts 2是否允许在Action名中使用斜线,该属性的默认值是false。如果开发者希望允许在Action名中使用斜线,则可设置该属性为true。
原因是,我在配置Action的时候,name中间带有 "/":
 

Xml代码

......................


Tags: struts2  struts  java  ACTION  
struts2.0的标签库(简介)
用过struts1.x的人都知道,标签库有html、bean、logic、tiles,而struts2.0里的标签却没有分类,只用在jsp头文件加上<%@ taglib prefix="s" uri="/struts-tags" %>就能使用struts2.0的标签库下面就介绍下每个标签的用法(有错请指正):A:-----超链接,类似于html里的-----执行一个view里面的一个action-----如果action的errors有值那么显示出来-----如果action的message有值那么显示出来-----添加一个值到list,类似于list.add();-----自动完成标签的内容,这个是ajaxB:-----类似于struts1.x中的,JavaBean的值.............
Tags: struts2  标签  ONGL  struts  
STRUTS2.0 常用标签,ONGL

 Struts2页面开发中常用标签使用规范:
1.1.通过<input name="userName" type="text" class=" " size="15">
往action中传值,action中要有相应的属性,并提供SET/GET方法。
(在数量少时可以使用request.getParameter(“userName”);)
1.2.在页面显示action传来的数据,使用property标签。需要显示的数据从action中获得。
1.3.往action中的实体对象内传值,使用textfield标签。
1.4.在页面中判断指定值使用<s:if>标签。判断数据从action中获得。
1.5.在页面中需要循环列表显示的数据使用<s:iterator>标签,列表数据从action中获得。
1.6.URL地址和超链接可以使用<a href>和<s:url>,在传多值时建议<a href>和<s:url>一起使用......


Tags: struts2  标签  struts  ONGL  
Struts2学习:配置篇之配置文件
web.xml no /WEB-INF/ Web部署描述符,包含了所有必须的框架组件 struts.xml yes /WEB-INF/classes 主要配置文件,包含了拦截器,action-mappings等等 struts.properties yes /WEB-INF/classes 框架的运行时属性 struts-default.xml yes /WEB-INF/lib/struts2-core.jar 由struts提供的默认配置文件 struts-default.vm yes /WEB-INF/classes 供velocity.properties参考的默认宏 struts-plugin.xml yes plug-in jar文件的根目录 可选的插件配置文件,格式同struts.xml velocity.properties yes /WEB-INF/classes 覆盖默认的velocity配置 下面我们来详细看下表中的各个配置文件,因为在项目开发中只用到了前面四种配置文件,所以对后面3种就不作介绍了。1.web.xml文件对于开发JSP程序的人来说,这个文件再熟悉不过了,它通常被称为部署描述符,它代表了整个Java web应用程序的核心,很自然的它也是struts的核心部分之一。在web.xml文件中Struts定义了它的FilterDispatcher,这个Servlet过滤器负责初始化整个Struts框架请且处理所有的请求。这个过滤器可以包括一些初始化参数,有的参数指定了要加载哪些额外的xml配置文件,还有的会影响struts框架的行为。之前我们说配置一个Struts2环境的时候就讲了,配置一个Struts2的环境只需在web.xml文件中加上如下一段话即可:
Tags: struts2  学习  配置  struts  
分页:[«] 1[2] [3] [4] [5] [6] [7] [»]
Feed订阅集
勤劳致富^.^
Powered By Z-Blog   STYLE by busfly . FatMouse
Copyright © 2007 巴士飞扬技术博客. . 沪ICP备07027972号. 会员群1(VS为主):3769186.