`
lw223
  • 浏览: 99916 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在GAE(google appengine)中应用sitemesh

    博客分类:
  • GAE
阅读更多

http://groups.google.com/group/google-appengine-java/browse_thread/thread/1e3868a6a2661585首先参考这篇文章,修改一下sitemesh中的Factory.class。然后将修改后的包加入到gae项目中就可以啦。

下面是我的配置文件

 

web.xml文件,注意红色部门直接写“*”, 不用加"/"

<?xml version="1.0" encoding="utf-8"?>  
<!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>

	<filter>
		<filter-name>sitemesh</filter-name>
		<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>sitemesh</filter-name>
		<url-pattern>*</url-pattern>
	</filter-mapping>


	<servlet>
		<servlet-name>dispatcher</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>dispatcher</servlet-name>
		<url-pattern>*.htm</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>


</web-app> 

 

接下来在WEB-INF/下面新建一个decorators文件加,里面写个main.jsp

decorators.xml文件 注意红色字体,路径要写正确

<decorators defaultdir="/WEB-INF/decorators">
	<decorator name="main" page="main.jsp">
		<pattern>/*</pattern>
	</decorator>
</decorators>

 

 

main.jsp 文件,很简单。

<%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator"
	prefix="decorator"%>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/page" prefix="page"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><decorator:title default="这里随便放什么都行" />main</title>
<decorator:head />
</head>
<body>
纵贯线北京演唱会
<hr>
<decorator:body />
<hr>
没有票真可惜
</body>
</html>

 

 

sitemesh.xml文件

<sitemesh>
	<page-parsers>
		<parser default="true"
			class="com.opensymphony.module.sitemesh.parser.DefaultPageParser" />
		<parser content-type="text/html"
			class="com.opensymphony.module.sitemesh.parser.FastPageParser" />
		<parser content-type="text/html;charset=UTF-8"
			class="com.opensymphony.module.sitemesh.parser.FastPageParser" />
	</page-parsers>

	<decorator-mappers>
		<mapper
			class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
			<param name="config" value="/WEB-INF/decorators.xml" />
		</mapper>
	</decorator-mappers>
</sitemesh> 

 

补充两个;

1 中文页面上传乱码问题可以参考这篇文章

http://www.jxva.com/blog/personal-diary/change-the-google-app-engine's-javac-compiler-encoding.html

上面无法访问的也可以看这个javaeye网友转载http://struts.iteye.com/blog/367952

 

2 上传出错问题,根据我这几天上传出错的经验 下面这个错误90%以上是jsp页面错误引起的

!MESSAGE Unable to upload app: Failed to compile java files.

See the Eclipse error log for more details
!STACK 0
com.google.appengine.tools.admin.AdminException: Unable to upload app: Failed to compile java files.
	at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:47)
	at com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy(AppEngineBridgeImpl.java:203)
	at com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace(DeployProjectJob.java:97)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.lang.RuntimeException: Failed to compile java files.
	at com.google.appengine.tools.admin.Application.compileJavaFiles(Application.java:363)
	at com.google.appengine.tools.admin.Application.compileJsps(Application.java:326)
	at com.google.appengine.tools.admin.Application.createStagingDirectory(Application.java:235)
	at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:39)
	... 4 more

 

ps 今天特地学习的sitemesh,网上一搜,99%的中文文章都是重复的,天下文章一大抄啊。

分享到:
评论
1 楼 satanest 2009-08-14  
似乎我这样写也没问题啊
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>

相关推荐

    google app engine示例源代码

    clock.rar 这是我今天做的一个基于google app engine写的一个在该平台上开发app的示例,通过该示例的学习,我们可以很快上手学会怎样在GAE上开发属于你的应用程序了,希望对大家有用!

    云端代码Google App Engine编程指南 高清带书签

    在谈论《云端代码Google App Engine编程指南》之前,我们需要先了解一下Google App Engine(GAE)平台的背景知识。Google App Engine(简称GAE)是由Google公司提供的一个无服务器(serverless)的云计算平台,该...

    Google App Engine 入门教程

    标题中提到的“Google App Engine 入门教程”意味着本文将介绍如何开始使用GAE这一服务,而描述中提到了“eclipse插件”,说明教程将会涉及如何在Eclipse开发环境中使用Google App Engine插件来开发应用。...

    GAE(Google App Engine)空间申请使用教程及 GAE域名捆绑方法

    GAE(Google App Engine)是由谷歌提供的一个强大的云服务平台,它允许开发者构建并托管各种类型的应用程序。从实用性角度来看,GAE为用户提供了一个稳定的免费网站空间,支持的主要编程语言包括Python和Java,同时...

    在Google App Engine上开发Flex应用(含简单示例源码)

    在Google App Engine上开发Flex应用是一项技术性强且充满挑战的任务,它涉及到多个技术栈的集成。Google App Engine(GAE)是一个基于云的平台,用于构建和运行Web应用程序,而Flex是一种用于创建富互联网应用程序...

    WingIDE部署GAE(google app engine)

    通过这个过程,你不仅学会了如何在WingIDE中编写和测试GAE应用,还了解了GAE的基础知识,包括`app.yaml`配置文件和应用的部署流程。记住,这只是一个起点,GAE支持许多高级特性,如数据存储、任务队列、身份验证等,...

    基于Google App Engine(GAE)的Java和GWT应用开发

    基于Google App Engine(GAE)的Java和GWT应用开发_Google App Engine Java and GWT Application Development Nov.2010

    Using Google App Engine

    Google App Engine(GAE)是Google推出的一款用于构建和托管Web应用的平台服务,它为开发者提供了丰富的工具和资源,使得开发者能够轻松地在Google的基础设施上运行应用程序。本文章将深入探讨GAE的核心概念、工作...

    Google App Engine的一些限制

    Google App Engine (GAE) 是Google Cloud Platform的重要组成部分之一,它为开发者提供了构建高效、可扩展的应用程序的平台。本文旨在详细介绍GAE在资源使用方面的一些关键限制,帮助开发者更好地理解和规划应用程序...

    应用在 Google App Engine 的一个Java 实例

    一个应该在Google App Engine 上的一个实例。用Java语言编写,里面包含源代码。致以Google App Engine是什么,请Google。 实例部署的地址是:http://hellojavaweb.appspot.com

    google app engine开发实例

    在这个"google app engine开发实例"中,你将学习如何结合这些概念,构建一个完整的Web应用,实现数据的CRUD操作,并在GAE平台上部署。Telesales可能指的是实际应用中的一个销售电话相关的模块,这可能涉及到用户管理...

    google app engine开发人员文档

    在“Google App Engine入门”中,你会学习到如何创建你的第一个GAE应用。这通常涉及到以下几个步骤: 1. **安装和配置**: 首先,你需要下载并安装Google App Engine SDK,它包含了开发和部署应用所需的工具。然后,...

    如何创建,编写并部署Google AppEngine应用

    在本篇指南中,我们将深入探讨如何在Windows个人电脑上创建、编写并部署一个Google App Engine应用。首先,需要明确本文档是基于2016年5月时的Google Cloud Platform进行原创编写的,确保信息的时效性与准确性。...

    Google App Engine

    Google App Engine(GAE)是谷歌提供的一款云端应用程序开发平台,允许开发者使用Python、Java、Go或PHP等语言编写应用,并在谷歌的基础设施上运行。它提供了完整的服务器环境,包括存储、数据库、计算资源和网络...

    Python for Google App Engine(PACKT,2015)

    Google App Engine is a key component of the Google Cloud Platform and one of the most comprehensive cloud services. Together with Python, the first programming language ever supported by the platform,...

    GAE for linux (google_appengine_1.9.10)

    google_appengine_1.9.10 for linux 发布于2014-08-28 To install on Linux: Unzip the App Engine SDK file you downloaded (google_appengine_1.9.10.zip), for example: unzip google_appengine_1.9.10.zip ...

    使用Google App Engine架设网站.pdf

    Google App Engine 是谷歌推出的一个云计算平台,它允许开发者构建和托管网络应用程序。作为一款免费的虚拟主机服务,它不仅提供了存储空间、带宽和计算资源,还运行在谷歌庞大的全球服务器集群上,确保高可用性和...

    Google App Engine API 大全

    Google App Engine为Java开发者提供了SDK,包含了运行和测试GAE应用所需的所有工具。开发者可以使用SDK中的API和库来实现各种功能,如数据存储、任务队列、邮件服务等。 ### 2. Datastore API Datastore是GAE的...

    Using Google App Engine.2009.pdf

    该书主要介绍了如何利用Google App Engine(GAE)平台进行Web应用开发。Google App Engine是一个由谷歌提供的云服务平台,它允许开发者在谷歌的基础架构上构建和部署应用程序。 #### 什么是Google App Engine? ...

Global site tag (gtag.js) - Google Analytics