Yes it can. To do this you need to create a new EntryPoint class that
creates an instance of your widget/app and adds it onto the RootPanel.
Example:
class MyEntryPoint implements EntryPoint
{
/**
* This is the entry point method.
*/
public void onModuleLoad() {
RichTextArea editor = new RichTextArea();
RootPanel.get("RTA-wrapper").add(editor);
}
}
Now you can create a template in your favorite language/framework.
Start by copying the details of the default HTML from gwt such as the
CSS, <script> tags, etc... and paste it into your new template. Create
a DIV with the ID RTA-wrapper (<div id="RTA-wrapper"></div>) for your
widget or application to load into.
Example template for Django:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>{{title}} - Editing</title>
{% include "default_css.html" %}
<meta http-equiv="content-type" content="text/html;
charset=UTF-8">
<link type="text/css" rel="stylesheet" href="/static/Sites.css">
{% include "preprepJS.html" %}
<script type="text/javascript" language="javascript" src="/static/
sites/sites.nocache.js"></script>
</head>
<body>
{% include "head.html" %}
<div id="main">
{% include "sidebar.html" %}
<div id="content">
<div id="RTA-wrapper"></div>
</div>
</div>
<!-- OPTIONAL: include this if you want history support -->
<iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1'
style="position:absolute;width:0;height:0;border:0"></iframe>
</body>
</html>