JBoss Tools SVN: r5364 - trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2007-12-19 03:22:53 -0500 (Wed, 19 Dec 2007)
New Revision: 5364
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamValidationHelper.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamValidator.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1489
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamValidationHelper.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamValidationHelper.java 2007-12-18 20:28:19 UTC (rev 5363)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamValidationHelper.java 2007-12-19 08:22:53 UTC (rev 5364)
@@ -25,6 +25,7 @@
import org.eclipse.jdt.core.IPackageFragment;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.ui.editors.text.TextFileDocumentProvider;
import org.eclipse.wst.validation.internal.operations.WorkbenchContext;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
import org.jboss.tools.seam.core.ISeamComponent;
@@ -44,6 +45,7 @@
public class SeamValidationHelper extends WorkbenchContext {
protected SeamValidationContext validationContext;
+ protected TextFileDocumentProvider documentProvider = new TextFileDocumentProvider();
/**
* @return Seam project
@@ -277,4 +279,8 @@
}
return validationContext;
}
+
+ public TextFileDocumentProvider getDocumentProvider(){
+ return documentProvider;
+ }
}
\ No newline at end of file
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamValidator.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamValidator.java 2007-12-18 20:28:19 UTC (rev 5363)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamValidator.java 2007-12-19 08:22:53 UTC (rev 5364)
@@ -1,18 +1,17 @@
- /*******************************************************************************
- * Copyright (c) 2007 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.seam.internal.core.validation;
import java.util.Set;
-
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
@@ -26,15 +25,18 @@
import org.jboss.tools.seam.core.ISeamTextSourceReference;
import org.jboss.tools.seam.core.SeamCorePlugin;
import org.jboss.tools.seam.core.SeamPreferences;
+import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.Document;
/**
* Abstract implementation of ISeamvalidator
+ *
* @author Alexey Kazakov
*/
public abstract class SeamValidator implements ISeamValidator {
- IStatus OK_STATUS = new Status(IStatus.OK, "org.eclipse.wst.validation", 0, "OK", null); //$NON-NLS-1$ //$NON-NLS-2$
+ IStatus OK_STATUS = new Status(IStatus.OK,
+ "org.eclipse.wst.validation", 0, "OK", null); //$NON-NLS-1$ //$NON-NLS-2$
protected SeamValidatorManager validationManager;
protected SeamValidationHelper coreHelper;
@@ -43,7 +45,9 @@
protected ISeamProject project;
protected String projectName;
- public SeamValidator(SeamValidatorManager validatorManager, SeamValidationHelper coreHelper, IReporter reporter, SeamValidationContext validationContext, ISeamProject project) {
+ public SeamValidator(SeamValidatorManager validatorManager,
+ SeamValidationHelper coreHelper, IReporter reporter,
+ SeamValidationContext validationContext, ISeamProject project) {
this.validationManager = validatorManager;
this.coreHelper = coreHelper;
this.project = project;
@@ -56,72 +60,65 @@
return "org.jboss.tools.seam.internal.core.validation.messages"; //$NON-NLS-1$
}
- protected void addError(String messageId, String preferenceKey, String[] messageArguments, ISeamTextSourceReference location, IResource target) {
- addError(messageId, preferenceKey, messageArguments, location.getLength(), location.getStartPosition(), target);
+ protected void addError(String messageId, String preferenceKey,
+ String[] messageArguments, ISeamTextSourceReference location,
+ IResource target) {
+ addError(messageId, preferenceKey, messageArguments, location
+ .getLength(), location.getStartPosition(), target);
}
- protected void addError(String messageId, String preferenceKey, ISeamTextSourceReference location, IResource target) {
+ protected void addError(String messageId, String preferenceKey,
+ ISeamTextSourceReference location, IResource target) {
addError(messageId, preferenceKey, new String[0], location, target);
}
- protected void addError(String messageId, String preferenceKey, String[] messageArguments, int length, int offset, IResource target) {
- String preferenceValue = SeamPreferences.getProjectPreference(project, preferenceKey);
+ protected void addError(String messageId, String preferenceKey,
+ String[] messageArguments, int length, int offset, IResource target) {
+ String preferenceValue = SeamPreferences.getProjectPreference(project,
+ preferenceKey);
boolean ignore = false;
int messageSeverity = IMessage.HIGH_SEVERITY;
- if(SeamPreferences.WARNING.equals(preferenceValue)) {
+ if (SeamPreferences.WARNING.equals(preferenceValue)) {
messageSeverity = IMessage.NORMAL_SEVERITY;
- } else if(SeamPreferences.IGNORE.equals(preferenceValue)) {
+ } else if (SeamPreferences.IGNORE.equals(preferenceValue)) {
ignore = true;
}
- IMessage message = new Message(getBaseName(), messageSeverity, messageId, messageArguments, target, ISeamValidator.MARKED_SEAM_RESOURCE_MESSAGE_GROUP);
+ IMessage message = new Message(getBaseName(), messageSeverity,
+ messageId, messageArguments, target,
+ ISeamValidator.MARKED_SEAM_RESOURCE_MESSAGE_GROUP);
message.setLength(length);
message.setOffset(offset);
- int lineNumber = getLineNumber(target, offset);
- if(lineNumber != 0)message.setLineNo(lineNumber);
- if(!ignore) {
+ try {
+ coreHelper.getDocumentProvider().connect(target);
+
+ message.setLineNo(coreHelper.getDocumentProvider().getDocument(
+ target).getLineOfOffset(offset) + 1);
+
+ } catch (BadLocationException e) {
+ SeamCorePlugin.getPluginLog().logError(e);
+ return;
+ } catch (CoreException e) {
+ SeamCorePlugin.getPluginLog().logError(e);
+ return;
+ }
+ if (!ignore) {
reporter.addMessage(validationManager, message);
}
}
-
- private int getLineNumber(IResource resource, int offset){
- if(resource.getType() == IResource.FILE){
- IFile file = (IFile)resource;
- String content;
- try {
- if(!file.isSynchronized(IResource.DEPTH_ZERO)) {
- // The resource is out of sync with the file system
- // Just ignore this resource.
- return 0;
- }
- content = FileUtil.readStream(file.getContents());
- } catch (CoreException e) {
- SeamCorePlugin.getPluginLog().logError(e);
- return 0;
- }
- Document document = new Document(content);
- int lineNumber=0;
- try{
- lineNumber = document.getLineOfOffset(offset);
- return lineNumber+1;
- }catch(Exception e){
- SeamCorePlugin.getPluginLog().logError(e);
- return 0;
- }
- }
- return 0;
- }
protected void displaySubtask(String messageId) {
displaySubtask(messageId, null);
}
protected void displaySubtask(String messageId, String[] messageArguments) {
- IMessage message = new Message(getBaseName(), IMessage.NORMAL_SEVERITY, messageId, messageArguments);
+ IMessage message = new Message(getBaseName(), IMessage.NORMAL_SEVERITY,
+ messageId, messageArguments);
reporter.displaySubtask(validationManager, message);
}
- protected void removeMessagesFromResources(Set<IResource> resources, String messageGroup) {
+ protected void removeMessagesFromResources(Set<IResource> resources,
+ String messageGroup) {
for (IResource r : resources) {
reporter.removeMessageSubset(validationManager, r, messageGroup);
}
17 years
JBoss Tools SVN: r5363 - trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor.
by jbosstools-commits@lists.jboss.org
Author: mareshkau
Date: 2007-12-18 15:28:19 -0500 (Tue, 18 Dec 2007)
New Revision: 5363
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSelectionBuilder.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSourceDomBuilder.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1209
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSelectionBuilder.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSelectionBuilder.java 2007-12-18 17:25:47 UTC (rev 5362)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSelectionBuilder.java 2007-12-18 20:28:19 UTC (rev 5363)
@@ -363,7 +363,12 @@
visualSelectedNode = visualNode;
}
setVisualSelectionAtVisualNode(visualSelectedNode, 0);
- sourceBuilder.setSelection(sourceNode, 0, 0);
+ //added by Max Areshkau in scope of JBIDE-1209
+ if(sourceNode.getNodeType()!=Node.TEXT_NODE) {
+ sourceBuilder.setSelection(sourceNode, 0, 0);
+ } else if(sourceNode.getNodeType()==Node.TEXT_NODE) {
+ sourceBuilder.setSelection(sourceNode, 1, 0);
+ }
return sourceNode;
}
Modified: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSourceDomBuilder.java
===================================================================
--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSourceDomBuilder.java 2007-12-18 17:25:47 UTC (rev 5362)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeSourceDomBuilder.java 2007-12-18 20:28:19 UTC (rev 5363)
@@ -37,6 +37,7 @@
import org.jboss.tools.vpe.editor.template.VpeTemplate;
import org.jboss.tools.vpe.editor.template.VpeTemplateManager;
import org.jboss.tools.vpe.editor.util.TextUtil;
+import org.jboss.tools.vpe.editor.util.VpeDebugUtil;
import org.mozilla.interfaces.nsIDOMElement;
import org.mozilla.interfaces.nsIDOMNode;
import org.mozilla.interfaces.nsIDOMNodeList;
@@ -318,6 +319,10 @@
// if (info != null) {
// info.setSourceCommentValue(pageContext, (Comment)sourceParent);
// }
+ //Added by Max Areshkau in scope of bug JBIDE-1209
+ } else if (sourceParent.getNodeType()==Node.TEXT_NODE) {
+
+ setSelection(sourceParent, 1, 0);
}
}
}
17 years
JBoss Tools SVN: r5362 - trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2007-12-18 12:25:47 -0500 (Tue, 18 Dec 2007)
New Revision: 5362
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamValidator.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1489
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamValidator.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamValidator.java 2007-12-18 16:41:55 UTC (rev 5361)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamValidator.java 2007-12-18 17:25:47 UTC (rev 5362)
@@ -12,15 +12,21 @@
import java.util.Set;
+
+import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.wst.validation.internal.core.Message;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
+import org.jboss.tools.common.util.FileUtil;
import org.jboss.tools.seam.core.ISeamProject;
import org.jboss.tools.seam.core.ISeamTextSourceReference;
+import org.jboss.tools.seam.core.SeamCorePlugin;
import org.jboss.tools.seam.core.SeamPreferences;
+import org.eclipse.jface.text.Document;
/**
* Abstract implementation of ISeamvalidator
@@ -71,10 +77,40 @@
IMessage message = new Message(getBaseName(), messageSeverity, messageId, messageArguments, target, ISeamValidator.MARKED_SEAM_RESOURCE_MESSAGE_GROUP);
message.setLength(length);
message.setOffset(offset);
+ int lineNumber = getLineNumber(target, offset);
+ if(lineNumber != 0)message.setLineNo(lineNumber);
if(!ignore) {
reporter.addMessage(validationManager, message);
}
}
+
+ private int getLineNumber(IResource resource, int offset){
+ if(resource.getType() == IResource.FILE){
+ IFile file = (IFile)resource;
+ String content;
+ try {
+ if(!file.isSynchronized(IResource.DEPTH_ZERO)) {
+ // The resource is out of sync with the file system
+ // Just ignore this resource.
+ return 0;
+ }
+ content = FileUtil.readStream(file.getContents());
+ } catch (CoreException e) {
+ SeamCorePlugin.getPluginLog().logError(e);
+ return 0;
+ }
+ Document document = new Document(content);
+ int lineNumber=0;
+ try{
+ lineNumber = document.getLineOfOffset(offset);
+ return lineNumber+1;
+ }catch(Exception e){
+ SeamCorePlugin.getPluginLog().logError(e);
+ return 0;
+ }
+ }
+ return 0;
+ }
protected void displaySubtask(String messageId) {
displaySubtask(messageId, null);
17 years
JBoss Tools SVN: r5361 - in trunk/jsf/tests/org.jboss.tools.jsf.test: projects/JSFKickStartOldFormat and 10 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2007-12-18 11:41:55 -0500 (Tue, 18 Dec 2007)
New Revision: 5361
Added:
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.classpath
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.project
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.jdt.core.prefs
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.jst.common.project.facet.core.prefs
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.wst.common.component
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.wst.common.project.facet.core.xml
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.jboss.tools.jst.web.xml
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/JavaSource/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/JavaSource/tmp
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/META-INF/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/META-INF/MANIFEST.MF
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/.faces-config-1.xml.jsfdia
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/.faces-config.xml.jsfdia
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/a4j.tld
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/aa.xml
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/classes/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/classes/tmp
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/example.tld
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/faces-config-1.xml
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/faces-config.xml
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/common-annotations.jar
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/commons-beanutils.jar
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/commons-collections.jar
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/commons-digester.jar
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/commons-logging.jar
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/jsf-api.jar
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/jsf-impl.jar
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/jstl.jar
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/standard.jar
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/tmp
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/web.xml
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/index.jsp
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/pages/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/pages/greeting.jsp
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/pages/hc.xml
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/pages/inputname.jsp
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/ant/
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/ant/tmp
trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/testCases.xml
trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/ModelFormat_2_0_0_Test.java
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/JsfAllTests.java
Log:
JBIDE-1498 Unit test added to check support of 2.0.0 format
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.classpath
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.classpath (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.classpath 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="JavaSource"/>
+ <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v5.5"/>
+ <classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
+</classpath>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.project
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.project (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.project 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>JSFKickStart1</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.common.verification.verifybuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.jboss.tools.jsf.jsfnature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ </natures>
+</projectDescription>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.jdt.core.prefs 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,7 @@
+#Thu Feb 01 12:22:25 MSK 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.jst.common.project.facet.core.prefs
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.jst.common.project.facet.core.prefs (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.jst.common.project.facet.core.prefs 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,4 @@
+#Thu Feb 01 12:22:26 MSK 2007
+classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER/owners=jst.java\:5.0
+classpath.helper/org.eclipse.jst.server.core.container\:\:org.eclipse.jst.server.tomcat.runtimeTarget\:\:Apache\ Tomcat\ v5.5/owners=jst.web\:2.4
+eclipse.preferences.version=1
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.wst.common.component
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.wst.common.component (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.wst.common.component 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+<wb-module deploy-name="JSFKickStart1">
+<wb-resource deploy-path="/" source-path="/WebContent"/>
+<wb-resource deploy-path="/WEB-INF/classes" source-path="/JavaSource"/>
+<property name="context-root" value="JSFKickStart1"/>
+<property name="java-output-path" value="build/classes"/>
+</wb-module>
+</project-modules>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.wst.common.project.facet.core.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.wst.common.project.facet.core.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.eclipse.wst.common.project.facet.core.xml 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <runtime name="Apache Tomcat v5.5"/>
+ <fixed facet="jst.java"/>
+ <fixed facet="jst.web"/>
+ <installed facet="jst.java" version="5.0"/>
+ <installed facet="jst.web" version="2.4"/>
+</faceted-project>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.jboss.tools.jst.web.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.jboss.tools.jst.web.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/.settings/org.jboss.tools.jst.web.xml 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<FILESYSTEMS APPLICATION_NAME="JSFKickStartOldFormat" ENTITY="FileSystems"
+ VERSION="8.0.3" WORKSPACE_HOME="./WebContent/WEB-INF">
+ <FILESYSTEM ENTITY="FileSystemFolder" LOCATION="%redhat.workspace%" NAME="WEB-INF"/>
+ <FILESYSTEM ENTITY="FileSystemFolder" INFO="Content-Type=Web"
+ LOCATION="%redhat.workspace%/.." NAME="WEB-ROOT"/>
+ <FILESYSTEM ENTITY="FileSystemFolder"
+ LOCATION="%redhat.workspace%/../../JavaSource" NAME="src"/>
+ <FILESYSTEM ENTITY="FileSystemFolder" LOCATION="%redhat.workspace%/lib" NAME="lib"/>
+ <FILESYSTEM ENTITY="FileSystemFolder"
+ LOCATION="%redhat.workspace%/classes" NAME="classes"/>
+ <FILESYSTEM ENTITY="FileSystemFolder"
+ LOCATION="%redhat.workspace%/../../ant" NAME="build"/>
+ <FILESYSTEM ENTITY="FileSystemJar" INFO="hidden=yes"
+ LOCATION="%redhat.workspace%/lib/common-annotations.jar" NAME="lib-common-annotations.jar"/>
+ <FILESYSTEM ENTITY="FileSystemJar" INFO="hidden=yes"
+ LOCATION="%redhat.workspace%/lib/commons-beanutils.jar" NAME="lib-commons-beanutils.jar"/>
+ <FILESYSTEM ENTITY="FileSystemJar" INFO="hidden=yes"
+ LOCATION="%redhat.workspace%/lib/commons-collections.jar" NAME="lib-commons-collections.jar"/>
+ <FILESYSTEM ENTITY="FileSystemJar" INFO="hidden=yes"
+ LOCATION="%redhat.workspace%/lib/commons-digester.jar" NAME="lib-commons-digester.jar"/>
+ <FILESYSTEM ENTITY="FileSystemJar" INFO="hidden=yes"
+ LOCATION="%redhat.workspace%/lib/commons-logging.jar" NAME="lib-commons-logging.jar"/>
+ <FILESYSTEM ENTITY="FileSystemJar" INFO="hidden=yes"
+ LOCATION="%redhat.workspace%/lib/jsf-api.jar" NAME="lib-jsf-api.jar"/>
+ <FILESYSTEM ENTITY="FileSystemJar" INFO="hidden=yes"
+ LOCATION="%redhat.workspace%/lib/jsf-impl.jar" NAME="lib-jsf-impl.jar"/>
+ <FILESYSTEM ENTITY="FileSystemJar" INFO="hidden=yes"
+ LOCATION="%redhat.workspace%/lib/jstl.jar" NAME="lib-jstl.jar"/>
+ <FILESYSTEM ENTITY="FileSystemJar" INFO="hidden=yes"
+ LOCATION="%redhat.workspace%/lib/standard.jar" NAME="lib-standard.jar"/>
+ <FILESYSTEM ENTITY="FileSystemFolder"
+ LOCATION="%eclipse.project%" NAME="JSFKickStart1"/>
+ <WEB ENTITY="JstWeb" MODEL_PATH="/web.xml" SERVLET_VERSION="2.4">
+ <MODULE ENTITY="WebJSFModule" MODEL_PATH="/faces-config.xml"
+ ROOT="WEB-ROOT" SRC="src" URI="/WEB-INF/faces-config.xml"/>
+ </WEB>
+</FILESYSTEMS>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/JavaSource/tmp
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/JavaSource/tmp (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/JavaSource/tmp 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1 @@
+
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/META-INF/MANIFEST.MF
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/META-INF/MANIFEST.MF (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/META-INF/MANIFEST.MF 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/.faces-config-1.xml.jsfdia
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/.faces-config-1.xml.jsfdia (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/.faces-config-1.xml.jsfdia 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PROCESS ENTITY="JSFProcess"/>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/.faces-config.xml.jsfdia
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/.faces-config.xml.jsfdia (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/.faces-config.xml.jsfdia 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PROCESS ENTITY="JSFProcess">
+ <PROCESS-ITEM ENTITY="JSFProcessGroup"
+ NAME="rules:#pages#inputname.jsp" PATH="/pages/inputname.jsp" SHAPE="32,17,0,0">
+ <PROCESS-ITEM ENTITY="JSFProcessItem"
+ ID="rules:#pages#inputname.jsp:0" NAME="item" PATH="/pages/inputname.jsp">
+ <PROCESS-ITEM-OUTPUT ENTITY="JSFProcessItemOutput"
+ ID="greeting::#pages#greeting.jsp" NAME="output"
+ PATH="/pages/greeting.jsp" TARGET="rules:#pages#greeting.jsp" TITLE="greeting"/>
+ </PROCESS-ITEM>
+ </PROCESS-ITEM>
+ <PROCESS-ITEM ENTITY="JSFProcessGroup" NAME="rules:#pages#greeting.jsp"
+ PATH="/pages/greeting.jsp" SHAPE="240,33,0,0"/>
+</PROCESS>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/a4j.tld
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/a4j.tld (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/a4j.tld 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,2112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+ "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+<taglib>
+ <tlib-version>1.2</tlib-version>
+ <jsp-version>1.2</jsp-version>
+ <short-name>a4j</short-name>
+ <uri>https://ajax4jsf.dev.java.net/ajax</uri>
+ <description>Core ajax4jsf Components</description>
+ <tag>
+ <name>ajaxListener</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.AjaxListenerTag</tag-class>
+ <description>
+ This works the same as ActionListener or ValueChangeListener, but for an AJAX container. Add the specified class
+ as a listener for AjaxEvent (sent in case of an AJAX request
+ for this container).
+ </description>
+ <attribute>
+ <name>type</name>
+ <required>true</required>
+ <rtexprvalue>false</rtexprvalue>
+ <description> Fully qualified Java class name of an AjaxListener to be created and registered.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>keepAlive</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.KeepAliveTag</tag-class>
+ <description>
+ This tag get bean by EL expression '#{'+name+'}' and store bean instance in component tree. After restoring view state, bean is putted to request-scope attributes with name.
+ Since, every view will be use own instance of bean for expressions '#{name....}'
+ </description>
+ <attribute>
+ <name>beanName</name>
+ <required>true</required>
+ <rtexprvalue>false</rtexprvalue>
+ <description> name of bean for EL-expressions.</description>
+ </attribute>
+ <attribute>
+ <name>ajaxOnly</name>
+ <required>false</required>
+ <rtexprvalue>false</rtexprvalue>
+ <description> if true, bean value restored in ajax requests only.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>region</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.AjaxRegion</tag-class>
+ <body-content>JSP</body-content>
+ <display-name>Ajax Region</display-name>
+ <description>This tag defines a part of the JSF Tree that is to be decoded on the
+ server side during AJAX request processing</description>
+ <attribute>
+ <name>selfRendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>if 'true' , self-render subtree at InvokeApplication ( or Decode, if immediate property set to true ) phase</description>
+ </attribute>
+ <attribute>
+ <name>renderRegionOnly</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Flag to disable rendering in AJAX responses content outside of active region.
+ If this attribute set to "true" , no one of the components outside of region will be included to AJAX response.
+ If set to "false", search for components to include in response will be performed on all tree.
+ Default "true"</description>
+ </attribute>
+ <attribute>
+ <name>immediate</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Flag indicating that, if this component is activated by ajaxrequest, notifications should be delivered to interested listeners and actions immediately (that is, during Apply Request Values phase) rather than waiting until Invoke Application phase.</description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If false, this component will not be rendered.</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ <attribute>
+ <name>ajaxListener</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>MethodBinding representing an action listener method that will be notified when this component is activated by the ajax Request and handle it. The expression must evaluate to a public method that takes an AjaxEvent parameter, with a return type of void.</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>page</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.AjaxPage</tag-class>
+ <body-content>JSP</body-content>
+ <display-name>Ajax Page</display-name>
+ <description>This component renders a full HTML page
+structure. It must be the first (and only) child for the view root (JSP &lt;f:view&gt; tag).
+No HTML code can be outside of this component.
+It also has support for processing child components in AJAX requests, just like &lt;a4j:region&gt;.
+For a normal request, it will render the results of a &lt;script&gt; element with a client-side library at the page's &lt;head&gt;.
+If this component includes a "head" facet, the facet's content will also be rendered at the &lt;head&gt;
+ element. For an AJAX request, only affected components in the full document structure will be rendered.
+Here's an example of using it in JSP (jspx version): &lt;jsp:root xmlns:.... &lt;f:view&gt; &lt;a4j:page&gt;&lt;f:facet name="head"&gt; ... &lt;/f:facet&gt; &lt;!-- page content here --&gt; &lt;/a4j:page&gt; &lt;/f:view&gt;&lt;/jsp:root&gt;</description>
+ <attribute>
+ <name>selfRendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>if 'true' , self-render subtree at InvokeApplication ( or Decode, if immediate property set to true ) phase</description>
+ </attribute>
+ <attribute>
+ <name>namespace</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Set html element default namespace</description>
+ </attribute>
+ <attribute>
+ <name>lang</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Code describing the language used in the generated markup for this component.</description>
+ </attribute>
+ <attribute>
+ <name>title</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Advisory title information about markup elements generated for this component.</description>
+ </attribute>
+ <attribute>
+ <name>renderRegionOnly</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>renderRegionOnly</description>
+ </attribute>
+ <attribute>
+ <name>onunload</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>JavaScript code to execute on a page unload.</description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If false, this component will not be rendered.</description>
+ </attribute>
+ <attribute>
+ <name>contentType</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Set custom mime content type to response</description>
+ </attribute>
+ <attribute>
+ <name>dir</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Alternate textual description of the element rendered by this component.</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ <attribute>
+ <name>styleClass</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Corresponds to the HTML class attribute.</description>
+ </attribute>
+ <attribute>
+ <name>immediate</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Flag indicating that, if this component is activated by ajaxrequest, notifications should be delivered to interested listeners and actions immediately (that is, during Apply Request Values phase) rather than waiting until Invoke Application phase.</description>
+ </attribute>
+ <attribute>
+ <name>onload</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>JavaScript code to execute on a page load.</description>
+ </attribute>
+ <attribute>
+ <name>style</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </attribute>
+ <attribute>
+ <name>pageTitle</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>String for output as a page title.</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ <attribute>
+ <name>ajaxListener</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>MethodBinding representing an action listener method that will be notified when this component is activated by the ajax Request and handle it. The expression must evaluate to a public method that takes an AjaxEvent parameter, with a return type of void.</description>
+ </attribute>
+ <attribute>
+ <name>format</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Page layout format ( html, xhtml, html-transitional, html-3.2 ) for encoding DOCTYPE, namespace and Content-Type definitions</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>support</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.AjaxSupport</tag-class>
+ <body-content>JSP</body-content>
+ <display-name>Ajax Support</display-name>
+ <description>Adds the AJAX functionality for those UIComponent-based componenent
+ that have properties for JavaScript events.
+ During Decoding: If a request is Ajax-performed, obtains the Map
+ from the "requestParameterMap" property of the ExternalContext. If this
+ Map contains non null value for the "clientId" key, creates a
+ javax.faces.event.ActionEvent around the component, passes it to the
+ queueEvent() method of the component, and then appends it's reRender
+ components IDs to a list of rendered areas.
+ During Encoding. Doesn't encode as a component. Instead, it adds
+ ValueBinding for a property of the parent component with the name as a
+ value of its "event" property. As a result, when rendered, the parent
+ component builds JavaScript code for submitting an AJAX request on this
+ event.
+ If the component has child UIParameter components, appends it's
+ name/value as additional request parameters.
+ If a parent component is an instance of UIInput and the ajaxType
+ property is "input", submits the value of the input field, also. In this
+ case, you can submit a single input field outside of UIForm.</description>
+ <attribute>
+ <name>actionListener</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>MethodBinding pointing at method acception an ActionEvent with
+ return type void.</description>
+ </attribute>
+ <attribute>
+ <name>parentProperties</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>parentProperties</description>
+ </attribute>
+ <attribute>
+ <name>action</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>MethodBinding pointing at the application action to be invoked,
+ if this UIComponent is activated by the user, during the Apply
+ Request Values or Invoke Application phase of the request
+ processing lifecycle, depending on the value of the immediate
+ property.</description>
+ </attribute>
+ <attribute>
+ <name>timeout</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Timeout ( in ms ) for request.</description>
+ </attribute>
+ <attribute>
+ <name>oncomplete</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>JavaScript code for call after request completed on client side</description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If false, this component will not be rendered.</description>
+ </attribute>
+ <attribute>
+ <name>status</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>ID ( in format of call UIComopnent.findComponent() ) of Request status component.</description>
+ </attribute>
+ <attribute>
+ <name>reRender</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Id['s] ( in format of call UIComopnent.findComponent() ) of components, rendered in case of AjaxRequest caused by this component. Can be single id, comma-separated list of Id's, or EL Expression with array or Collection</description>
+ </attribute>
+ <attribute>
+ <name>targetId</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Alias for reRender : Id['s] ( in format of call UIComopnent.findComponent() ) of components, rendered in case of AjaxRequest caused by this component. Can be single id, comma-separated list of Id's, or EL Expression with array or Collection</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ <attribute>
+ <name>disableDefault</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Disable default action for target event ( append "return false;" to javascript )</description>
+ </attribute>
+ <attribute>
+ <name>requestDelay</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Delay ( in ms. ) for send ajax request on JavaScript event. In conjunction with events queue can reduce number of requests on keyboard or mouse move events.</description>
+ </attribute>
+ <attribute>
+ <name>eventsQueue</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Name of requests queue to avoid send next request before complete other from same event. Can be used to reduce number of requests of frequently events ( key press, mouse move etc ).</description>
+ </attribute>
+ <attribute>
+ <name>bypassUpdates</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>if true , after process validations phase skip updates of model beans an force render response. can be used for validate components input</description>
+ </attribute>
+ <attribute>
+ <name>immediate</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>True means, that the default ActionListener should be executed
+ immediately (i.e. during Apply Request Values phase of the
+ request processing lifecycle), rather than waiting until the
+ Invoke Application phase.</description>
+ </attribute>
+ <attribute>
+ <name>limitToList</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>f "true", update on client side ONLY elements from this 'reRender' property. if "false" ( default ) update all rendered by ajax region components.</description>
+ </attribute>
+ <attribute>
+ <name>ajaxSingle</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>if true , submit ONLY one field/link, instead of all form controls.</description>
+ </attribute>
+ <attribute>
+ <name>event</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Name of Javascript event property ( onclick , onchange, etc. ) of parent component, for which we will build
+ AJAX submission code.</description>
+ </attribute>
+ <attribute>
+ <name>onsubmit</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Javascript code for call before submission of ajax event.</description>
+ </attribute>
+ <attribute>
+ <name>ignoreDupResponses</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If true, unfinished request will be aborted on new event</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>poll</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.AjaxPollTag</tag-class>
+ <body-content>JSP</body-content>
+ <display-name>Ajax Poll</display-name>
+ <description>Periodically perform AJAX request to server, to simulate 'poll' data.</description>
+ <attribute>
+ <name>actionListener</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>MethodBinding pointing at method acception an ActionEvent with
+ return type void.</description>
+ </attribute>
+ <attribute>
+ <name>action</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>MethodBinding pointing at the application action to be invoked,
+ if this UIComponent is activated by the user, during the Apply
+ Request Values or Invoke Application phase of the request
+ processing lifecycle, depending on the value of the immediate
+ property.</description>
+ </attribute>
+ <attribute>
+ <name>timeout</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Timeout ( in ms ) for request.</description>
+ </attribute>
+ <attribute>
+ <name>oncomplete</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>JavaScript code for call after request completed on client side</description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If false, this component will not be rendered.</description>
+ </attribute>
+ <attribute>
+ <name>status</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>ID ( in format of call UIComopnent.findComponent() ) of Request status component.</description>
+ </attribute>
+ <attribute>
+ <name>reRender</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Id['s] ( in format of call UIComopnent.findComponent() ) of components, rendered in case of AjaxRequest caused by this component. Can be single id, comma-separated list of Id's, or EL Expression with array or Collection</description>
+ </attribute>
+ <attribute>
+ <name>targetId</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Alias for reRender : Id['s] ( in format of call UIComopnent.findComponent() ) of components, rendered in case of AjaxRequest caused by this component. Can be single id, comma-separated list of Id's, or EL Expression with array or Collection</description>
+ </attribute>
+ <attribute>
+ <name>interval</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>interval ( in ms ) for call poll requests. default value 1000 ( 1 sec ).</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ <attribute>
+ <name>eventsQueue</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Name of requests queue to avoid send next request before complete other from same event. Can be used to reduce number of requests of frequently events ( key press, mouse move etc ).</description>
+ </attribute>
+ <attribute>
+ <name>bypassUpdates</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>if true , after process validations phase skip updates of model beans an force render response. can be used for validate components input</description>
+ </attribute>
+ <attribute>
+ <name>enabled</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Enable/disable polling</description>
+ </attribute>
+ <attribute>
+ <name>immediate</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>True means, that the default ActionListener should be executed
+ immediately (i.e. during Apply Request Values phase of the
+ request processing lifecycle), rather than waiting until the
+ Invoke Application phase.</description>
+ </attribute>
+ <attribute>
+ <name>limitToList</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>f "true", update on client side ONLY elements from this 'reRender' property. if "false" ( default ) update all rendered by ajax region components.</description>
+ </attribute>
+ <attribute>
+ <name>ajaxSingle</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>if true , submit ONLY one field/link, instead of all form controls.</description>
+ </attribute>
+ <attribute>
+ <name>onsubmit</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Javascript code for call before submission of ajax event.</description>
+ </attribute>
+ <attribute>
+ <name>ignoreDupResponses</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>${prop.xmlEncodedDescription}</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>commandLink</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.AjaxCommandLink</tag-class>
+ <body-content>JSP</body-content>
+ <display-name>Ajax commandLink</display-name>
+ <description>Renders an HTML "a" anchor element that acts like a form submit
+ button when clicked.
+ During Decoding: Obtains the Map from the "requestParameterMap"
+ property of the ExternalContext. If this Map contains non null value for
+ the "clientId" key, creates a javax.faces.event.ActionEvent around the
+ component and passes it to the queueEvent() method of the component. If
+ the request is Ajax-performed, adds its target IDs from the reRender
+ property to the rendered areas list of the nesting AjaxContainer.
+ element for decoding as described above with the parameters of the
+ component. (PARAM_NAME and PARAM_VALUE are the names and values,
+ respectively, of any nested UIParameter children.) The name and the value
+ must be URLEncoded. If the "styleClass" attribute is specified, render its
+ value as the value of the "class" attribute. Render any non-UIParameter
+ children as normal inside of the "a" element. These will appear as the
+ link text.</description>
+ <attribute>
+ <name>actionListener</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>MethodBinding pointing at method acception an ActionEvent with
+ return type void.</description>
+ </attribute>
+ <attribute>
+ <name>title</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Advisory title information about markup elements generated for this component.</description>
+ </attribute>
+ <attribute>
+ <name>oncomplete</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>JavaScript code for call after request completed on client side</description>
+ </attribute>
+ <attribute>
+ <name>shape</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>default|rect|circle|poly [CI]
+ This attribute specifies the shape of a region. Possible values:
+
+ * default: Specifies the entire region.
+ * rect: Define a rectangular region.
+ * circle: Define a circular region.
+ * poly: Define a polygonal region.</description>
+ </attribute>
+ <attribute>
+ <name>target</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description></description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If false, this component will not be rendered.</description>
+ </attribute>
+ <attribute>
+ <name>charset</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The character encoding of the resource designated by this hyperlink.</description>
+ </attribute>
+ <attribute>
+ <name>reRender</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Id['s] ( in format of call UIComopnent.findComponent() ) of components, rendered in case of AjaxRequest caused by this component. Can be single id, comma-separated list of Id's, or EL Expression with array or Collection</description>
+ </attribute>
+ <attribute>
+ <name>targetId</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Alias for reRender : Id['s] ( in format of call UIComopnent.findComponent() ) of components, rendered in case of AjaxRequest caused by this component. Can be single id, comma-separated list of Id's, or EL Expression with array or Collection</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ <attribute>
+ <name>dir</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Alternate textual description of the element rendered by this component.</description>
+ </attribute>
+ <attribute>
+ <name>rev</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>A reverse link from the anchor specified by this hyperlink to the current document. The value of this attribute is a space-separated list of link types.</description>
+ </attribute>
+ <attribute>
+ <name>bypassUpdates</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>if true , after process validations phase skip updates of model beans an force render response. can be used for validate components input</description>
+ </attribute>
+ <attribute>
+ <name>styleClass</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Corresponds to the HTML class attribute.</description>
+ </attribute>
+ <attribute>
+ <name>accesskey</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute assigns an access key to an element. An access key is a single character from the document character set. Note. Authors should consider the input method of the expected reader when specifying an accesskey.</description>
+ </attribute>
+ <attribute>
+ <name>limitToList</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>f "true", update on client side ONLY elements from this 'reRender' property. if "false" ( default ) update all rendered by ajax region components.</description>
+ </attribute>
+ <attribute>
+ <name>onkeypress</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a key was pressed and released.</description>
+ </attribute>
+ <attribute>
+ <name>ajaxSingle</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>if true , submit ONLY one field/link, instead of all form controls.</description>
+ </attribute>
+ <attribute>
+ <name>ondblclick</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was double clicked.</description>
+ </attribute>
+ <attribute>
+ <name>style</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </attribute>
+ <attribute>
+ <name>onblur</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Javascript code. The onblur event occurs when an element loses focus either by the pointing device or by tabbing navigation. It may be used with the same elements as onfocus.</description>
+ </attribute>
+ <attribute>
+ <name>onmouseover</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer was moved onto.</description>
+ </attribute>
+ <attribute>
+ <name>onkeyup</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a key was released.</description>
+ </attribute>
+ <attribute>
+ <name>value</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The current value for this component.</description>
+ </attribute>
+ <attribute>
+ <name>action</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>MethodBinding pointing at the application action to be invoked,
+ if this UIComponent is activated by the user, during the Apply
+ Request Values or Invoke Application phase of the request
+ processing lifecycle, depending on the value of the immediate
+ property.</description>
+ </attribute>
+ <attribute>
+ <name>timeout</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Timeout ( in ms ) for request.</description>
+ </attribute>
+ <attribute>
+ <name>tabindex</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute specifies the position of the current element in the tabbing order for the current document. This value must be a number between 0 and 32767. User agents should ignore leading zeros.</description>
+ </attribute>
+ <attribute>
+ <name>hreflang</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description></description>
+ </attribute>
+ <attribute>
+ <name>type</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The content type of the resource designated by this hyperlink.</description>
+ </attribute>
+ <attribute>
+ <name>lang</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Code describing the language used in the generated markup for this component.</description>
+ </attribute>
+ <attribute>
+ <name>onclick</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was clicked.</description>
+ </attribute>
+ <attribute>
+ <name>status</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>ID ( in format of call UIComopnent.findComponent() ) of Request status component.</description>
+ </attribute>
+ <attribute>
+ <name>onmouseout</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer was moved away.</description>
+ </attribute>
+ <attribute>
+ <name>onkeydown</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a key was pressed down.</description>
+ </attribute>
+ <attribute>
+ <name>onmousedown</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was pressed down.</description>
+ </attribute>
+ <attribute>
+ <name>requestDelay</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Delay ( in ms. ) for send ajax request on JavaScript event. In conjunction with events queue can reduce number of requests on keyboard or mouse move events.</description>
+ </attribute>
+ <attribute>
+ <name>eventsQueue</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Name of requests queue to avoid send next request before complete other from same event. Can be used to reduce number of requests of frequently events ( key press, mouse move etc ).</description>
+ </attribute>
+ <attribute>
+ <name>rel</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The relationship from the current document to the anchor specified by this hyperlink. The value of this attribute is a space-separated list of link types.</description>
+ </attribute>
+ <attribute>
+ <name>immediate</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>True means, that the default ActionListener should be executed
+ immediately (i.e. during Apply Request Values phase of the
+ request processing lifecycle), rather than waiting until the
+ Invoke Application phase.</description>
+ </attribute>
+ <attribute>
+ <name>onfocus</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Javascript code.</description>
+ </attribute>
+ <attribute>
+ <name>onmouseup</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was released.</description>
+ </attribute>
+ <attribute>
+ <name>ignoreDupResponses</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>${prop.xmlEncodedDescription}</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ <attribute>
+ <name>onmousemove</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer was moved within.</description>
+ </attribute>
+ <attribute>
+ <name>coords</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute specifies the position and shape on the screen. The number and order of values depends on the shape being defined. Possible combinations:
+
+ * rect: left-x, top-y, right-x, bottom-y.
+ * circle: center-x, center-y, radius. Note. When the radius value is a percentage value, user agents should calculate the final radius value based on the associated object's width and height. The radius should be the smaller value of the two.
+ * poly: x1, y1, x2, y2, ..., xN, yN. The first x and y coordinate pair and the last should be the same to close the polygon. When these coordinate values are not the same, user agents should infer an additional coordinate pair to close the polygon.
+
+Coordinates are relative to the top, left corner of the object. All values are lengths. All values are separated by commas.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>commandButton</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.AjaxCommandButton</tag-class>
+ <body-content>JSP</body-content>
+ <display-name>Ajax CommandButton</display-name>
+ <description>Renders an HTML "input" element.
+ During Decoding: Obtains the Map from the "requestParameterMap"
+ property of the ExternalContext. If the value in the Map for the value of
+ the "clientId" property of the component is not null, create a
+ javax.faces.event.ActionEvent around the component, and pass it to the
+ queueEvent() method of the component. If the request is Ajax-performed,
+ add its target IDs of the reRender property to the rendered areas list of
+ the nesting AjaxContainer.
+ During Encoding: Builds an AJAX.Submit JavaScript call for the
+ "onclick" event. Renders the clientId of the component as the value of the
+ "name" attribute. Renders the current value of the component as the value
+ of the "value" attribute. If the "styleClass" attribute is specified,
+ render its value as the value of the "class" attribute. Renders child
+ components inside the HTML "input" element.</description>
+ <attribute>
+ <name>actionListener</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>MethodBinding pointing at method acception an ActionEvent with
+ return type void.</description>
+ </attribute>
+ <attribute>
+ <name>title</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Advisory title information about markup elements generated for this component.</description>
+ </attribute>
+ <attribute>
+ <name>oncomplete</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>JavaScript code for call after request completed on client side</description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If false, this component will not be rendered.</description>
+ </attribute>
+ <attribute>
+ <name>reRender</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Id['s] ( in format of call UIComopnent.findComponent() ) of components, rendered in case of AjaxRequest caused by this component. Can be single id, comma-separated list of Id's, or EL Expression with array or Collection</description>
+ </attribute>
+ <attribute>
+ <name>targetId</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Alias for reRender : Id['s] ( in format of call UIComopnent.findComponent() ) of components, rendered in case of AjaxRequest caused by this component. Can be single id, comma-separated list of Id's, or EL Expression with array or Collection</description>
+ </attribute>
+ <attribute>
+ <name>onchange</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; the element value was changed.</description>
+ </attribute>
+ <attribute>
+ <name>dir</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Alternate textual description of the element rendered by this component.</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ <attribute>
+ <name>bypassUpdates</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>if true , after process validations phase skip updates of model beans an force render response. can be used for validate components input</description>
+ </attribute>
+ <attribute>
+ <name>styleClass</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Corresponds to the HTML class attribute.</description>
+ </attribute>
+ <attribute>
+ <name>accesskey</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute assigns an access key to an element. An access key is a single character from the document character set. Note. Authors should consider the input method of the expected reader when specifying an accesskey.</description>
+ </attribute>
+ <attribute>
+ <name>limitToList</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>f "true", update on client side ONLY elements from this 'reRender' property. if "false" ( default ) update all rendered by ajax region components.</description>
+ </attribute>
+ <attribute>
+ <name>onkeypress</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a key was pressed and released.</description>
+ </attribute>
+ <attribute>
+ <name>ajaxSingle</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>if true , submit ONLY one field/link, instead of all form controls.</description>
+ </attribute>
+ <attribute>
+ <name>ondblclick</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was double clicked.</description>
+ </attribute>
+ <attribute>
+ <name>image</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Absolute or relative URL of the image to be displayed for this button. If specified, this "input" element will be of type "image". Otherwise, it will be of the type specified by the "type" property with a label specified by the "value" property.</description>
+ </attribute>
+ <attribute>
+ <name>style</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </attribute>
+ <attribute>
+ <name>size</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute tells the user agent the initial width of the control. The width is given in pixels except when type attribute has the value "text" or "password". In that case, its value refers to the (integer) number of characters.</description>
+ </attribute>
+ <attribute>
+ <name>onblur</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; the element lost the focus.</description>
+ </attribute>
+ <attribute>
+ <name>onmouseover</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer was moved onto.</description>
+ </attribute>
+ <attribute>
+ <name>value</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The current value for this component.</description>
+ </attribute>
+ <attribute>
+ <name>action</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>MethodBinding pointing at the application action to be invoked,
+ if this UIComponent is activated by the user, during the Apply
+ Request Values or Invoke Application phase of the request
+ processing lifecycle, depending on the value of the immediate
+ property.</description>
+ </attribute>
+ <attribute>
+ <name>onkeyup</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a key was released.</description>
+ </attribute>
+ <attribute>
+ <name>timeout</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Timeout ( in ms ) for request.</description>
+ </attribute>
+ <attribute>
+ <name>tabindex</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute specifies the position of the current element in the tabbing order for the current document. This value must be a number between 0 and 32767. User agents should ignore leading zeros.</description>
+ </attribute>
+ <attribute>
+ <name>lang</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Code describing the language used in the generated markup for this component.</description>
+ </attribute>
+ <attribute>
+ <name>type</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>submit|reset|image|button This attribute specifies the type of control to create. The default value for this attribute is "submit".</description>
+ </attribute>
+ <attribute>
+ <name>disabled</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>When set for a form control, this boolean attribute disables the control for user input.</description>
+ </attribute>
+ <attribute>
+ <name>onclick</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was clicked.</description>
+ </attribute>
+ <attribute>
+ <name>status</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>ID ( in format of call UIComopnent.findComponent() ) of Request status component.</description>
+ </attribute>
+ <attribute>
+ <name>onmouseout</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer was moved away.</description>
+ </attribute>
+ <attribute>
+ <name>alt</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Alternate textual description of the element rendered by this component.</description>
+ </attribute>
+ <attribute>
+ <name>onkeydown</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a key was pressed down.</description>
+ </attribute>
+ <attribute>
+ <name>onmousedown</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was pressed down.</description>
+ </attribute>
+ <attribute>
+ <name>requestDelay</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Delay ( in ms. ) for send ajax request on JavaScript event. In conjunction with events queue can reduce number of requests on keyboard or mouse move events.</description>
+ </attribute>
+ <attribute>
+ <name>eventsQueue</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Name of requests queue to avoid send next request before complete other from same event. Can be used to reduce number of requests of frequently events ( key press, mouse move etc ).</description>
+ </attribute>
+ <attribute>
+ <name>immediate</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>True means, that the default ActionListener should be executed
+ immediately (i.e. during Apply Request Values phase of the
+ request processing lifecycle), rather than waiting until the
+ Invoke Application phase.</description>
+ </attribute>
+ <attribute>
+ <name>onfocus</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; the element got the focus.</description>
+ </attribute>
+ <attribute>
+ <name>onmouseup</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was released.</description>
+ </attribute>
+ <attribute>
+ <name>ignoreDupResponses</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>${prop.xmlEncodedDescription}</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ <attribute>
+ <name>onmousemove</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer was moved within.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>outputPanel</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.AjaxOutputPanel</tag-class>
+ <body-content>JSP</body-content>
+ <display-name>Ajax OutputPanel</display-name>
+ <description>Creates an AJAX-enabled part of the page. For a normal request,
+ render a &amp;lt;span&amp;gt; or &amp;lt;div&amp;gt; HTML element
+ depending on the value of the "layout" attribute, "inline" or "block".
+ (The "id" attribute will be the value of the clientId property.) For an
+ AJAX request, the content of this element is included in the response if
+ the value of the property, "ajaxRendered", is set to true.</description>
+ <attribute>
+ <name>styleClass</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Corresponds to the HTML class attribute.</description>
+ </attribute>
+ <attribute>
+ <name>title</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Advisory title information about markup elements generated for this component.</description>
+ </attribute>
+ <attribute>
+ <name>lang</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Code describing the language used in the generated markup for this component.</description>
+ </attribute>
+ <attribute>
+ <name>layout</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML layout for generated markup. Possible values: "block"
+ for generating an HTML &lt;div&gt; element, "inline" for
+ generating an HTML &lt;span&gt; element, and "none" for generating
+ no HTML element. There is a minor exception for the "none" case
+ where a child element has the property "rendered" set to "false".
+ In this case, we create an empty &lt;span&gt; element with same ID
+ as the child element to use as a placeholder for later
+ processing.</description>
+ </attribute>
+ <attribute>
+ <name>keepTransient</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Flag for mark all child components to non-transient. If
+ true, all children components will be set to non-transient state
+ and keep in saved components tree. For output in self-renderer
+ region all content ( By default, all content in &lt;f:verbatim&gt;
+ tags and non-jsf elements in facelets, marked as transient -
+ since, self-rendered ajax regions don't plain output for ajax
+ processing ).</description>
+ </attribute>
+ <attribute>
+ <name>ajaxRendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Defines, whether the content of this component must be (or
+ not) included in AJAX response created by parent AJAX Container,
+ even if it is not forced by reRender list of ajax action. Ignored
+ if component marked to output by Ajax action. default
+ false</description>
+ </attribute>
+ <attribute>
+ <name>style</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If false, this component will not be rendered.</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ <attribute>
+ <name>dir</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Alternate textual description of the element rendered by this component.</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>actionparam</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.ActionParam</tag-class>
+ <body-content>JSP</body-content>
+ <description>A combination of the functionality of two JSF tags,
+ &lt;f:actionListener&gt;; and &lt;f:param&gt;. At the render phase, it's
+ decoded by parent component (&lt;h:commandLink&gt;; or like) as usual.
+ At the process request phase, if the parent component performs an
+ action event, update the value specified in the "assignTo" attribute as
+ its value.
+ If a converter attribute is specified, use it to encode and decode
+ the value to a string stored in the html parameter.</description>
+ <attribute>
+ <name>noEscape</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If set to true, the value will not enclosed within single
+ quotes and there will be no escaping of characters. This allows
+ the use of the value as JavaScript code for calculating value on
+ the client-side. This doesn't work with non-AJAX
+ components.</description>
+ </attribute>
+ <attribute>
+ <name>value</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Initial value or value binding.</description>
+ </attribute>
+ <attribute>
+ <name>converter</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>ID of a converter to be used or a reference to a
+ converter.</description>
+ </attribute>
+ <attribute>
+ <name>assignTo</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>EL expression for updatable bean property. This property
+ will be updated if the parent command component performs an
+ actionEvent.</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ <attribute>
+ <name>name</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Name of this parameter</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>status</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.AjaxStatus</tag-class>
+ <body-content>JSP</body-content>
+ <description>Renders area for indicating Ajax request status on the client-side.
+ During Encoding: Creates two "span" elements with id created as
+ clientId of this component or of target AJAX region (pointed to by the
+ "for" property) with appended ":status.start" and ":status:stop" strings.
+ "start" span has "display:none" style (hidden). Inside this span,
+ renders the value of the startText/stopText properties or, if they exist,
+ the content of "start" and "stop" facets.
+ On performing an AJAX request, the client-side script changes the
+ visibility of the "start" span and hides "stop". After all requests for
+ this indicator are completed, restores "stop" and hide "start"
+ start[style,styleClass] and stop[style,styleClass] are rendered for spans
+ as style and class atributes, respectivetly.
+
+ During Encoding: Creates two "span" or "div"(depending on 'layout' attribute)
+ elements with id created as clientId of this component or of
+ target AJAX region (pointed to by the "for" property) with appended
+ ":status.start" and ":status:stop" strings. "start" element
+ has "display:none" style (hidden). Inside this element,
+ renders the value of the startText/stopText properties or, if they exist,
+ the content of "start" and "stop" facets. On
+ performing an AJAX request, the client-side script changes
+ the visibility of the "start" element and hides "stop". After all
+ requests for this indicator are completed, restores "stop" and
+ hide "start"
+
+ start[style,styleClass] and
+ stop[style,styleClass] are rendered for spans as style and class
+ atributes, respectivetly.</description>
+ <attribute>
+ <name>startStyleClass</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>CSS style class for the element displayed on the start of a
+ request.</description>
+ </attribute>
+ <attribute>
+ <name>stopStyle</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>CSS style for element displayed on request
+ completion.</description>
+ </attribute>
+ <attribute>
+ <name>stopStyleClass</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>CSS style class for element displayed on request</description>
+ </attribute>
+ <attribute>
+ <name>layout</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Define visual layout of panel, can be "block" or
+ "inline".</description>
+ </attribute>
+ <attribute>
+ <name>title</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Advisory title information about markup elements generated for this component.</description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If false, this component will not be rendered.</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ <attribute>
+ <name>dir</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Alternate textual description of the element rendered by this component.</description>
+ </attribute>
+ <attribute>
+ <name>styleClass</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Corresponds to the HTML class attribute.</description>
+ </attribute>
+ <attribute>
+ <name>startStyle</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>CSS style class for the element displayed on the start of a
+ request.</description>
+ </attribute>
+ <attribute>
+ <name>onkeypress</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a key was pressed and released.</description>
+ </attribute>
+ <attribute>
+ <name>ondblclick</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was double clicked.</description>
+ </attribute>
+ <attribute>
+ <name>style</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </attribute>
+ <attribute>
+ <name>onmouseover</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer was moved onto.</description>
+ </attribute>
+ <attribute>
+ <name>for</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>ID of the AjaxContainer component whose status is indicated (in the format of a
+ javax.faces.UIComopnent.findComponent() call).</description>
+ </attribute>
+ <attribute>
+ <name>onkeyup</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a key was released.</description>
+ </attribute>
+ <attribute>
+ <name>lang</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Code describing the language used in the generated markup for this component.</description>
+ </attribute>
+ <attribute>
+ <name>onclick</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was clicked.</description>
+ </attribute>
+ <attribute>
+ <name>onmouseout</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer was moved away.</description>
+ </attribute>
+ <attribute>
+ <name>startText</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Text for display on starting request.</description>
+ </attribute>
+ <attribute>
+ <name>onkeydown</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a key was pressed down.</description>
+ </attribute>
+ <attribute>
+ <name>onmousedown</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was pressed down.</description>
+ </attribute>
+ <attribute>
+ <name>forceId</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If true, render the ID of the component in HTML code without JSF modifications.</description>
+ </attribute>
+ <attribute>
+ <name>stopText</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Text for display on request complete.</description>
+ </attribute>
+ <attribute>
+ <name>onmouseup</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was released.</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ <attribute>
+ <name>onmousemove</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer was moved within.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>loadBundle</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.LoadBundle</tag-class>
+ <body-content>JSP</body-content>
+ <display-name>Ajax-compatible version of f:loadBundle</display-name>
+ <description>Load a resource bundle localized for the Locale of the current view, and expose it (as a Map)
+ in the request attributes of the current request.
+ In difference of original f:loadBundle tag, stored in components tree and activate on ajax/non ajax responses</description>
+ <attribute>
+ <name>var</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Name of a request scope attribute under which the resource bundle will be exposed as a Map.</description>
+ </attribute>
+ <attribute>
+ <name>basename</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Base name of the resource bundle to be loaded.</description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If false, this component will not be rendered.</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>mediaOutput</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.MediaOutputTag</tag-class>
+ <body-content>JSP</body-content>
+ <display-name>Link to user-generated resource</display-name>
+ <description>Class for create any link-type elements to user-generated resources :
+ images, sounds, video, active objects, applets etc.
+ Method specified in "CreateContent" attribute will put the data from Data Bean specified
+ in "value" attribute to the OutputStream. Important: Data Bean specified in "value" must implement Serializable.</description>
+ <attribute>
+ <name>declare</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>declare but don't instantiate flag</description>
+ </attribute>
+ <attribute>
+ <name>dir</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Alternate textual description of the element rendered by this component.</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ <attribute>
+ <name>rev</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>A reverse link from the anchor specified by this hyperlink to the current document. The value of this attribute is a space-separated list of link types.</description>
+ </attribute>
+ <attribute>
+ <name>mimeType</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Geterated content mime-type for append to response header ( 'image/jpeg' etc )</description>
+ </attribute>
+ <attribute>
+ <name>style</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </attribute>
+ <attribute>
+ <name>onmouseover</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer was moved onto.</description>
+ </attribute>
+ <attribute>
+ <name>onkeyup</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a key was released.</description>
+ </attribute>
+ <attribute>
+ <name>tabindex</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute specifies the position of the current element in the tabbing order for the current document. This value must be a number between 0 and 32767. User agents should ignore leading zeros.</description>
+ </attribute>
+ <attribute>
+ <name>archive</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>space-separated list of URIs</description>
+ </attribute>
+ <attribute>
+ <name>converter</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>converter</description>
+ </attribute>
+ <attribute>
+ <name>lang</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Code describing the language used in the generated markup for this component.</description>
+ </attribute>
+ <attribute>
+ <name>createContent</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Method call expression to send generated resource to OutputStream. It must have two parameter with a type of java.io.OutputStream
+ and java.lang.Object ( deserialized value of data attribute )</description>
+ </attribute>
+ <attribute>
+ <name>onmouseout</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer was moved away.</description>
+ </attribute>
+ <attribute>
+ <name>element</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Name of html element for resource link - may be &lt;a&gt; &lt;img&gt; &lt;object&gt; &lt;applet&gt; &lt;script&gt; or &lt;link&gt;</description>
+ </attribute>
+ <attribute>
+ <name>rel</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The relationship from the current document to the anchor specified by this hyperlink. The value of this attribute is a space-separated list of link types.</description>
+ </attribute>
+ <attribute>
+ <name>onmouseup</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was released.</description>
+ </attribute>
+ <attribute>
+ <name>cacheable</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>cacheable</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ <attribute>
+ <name>onmousemove</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer was moved within.</description>
+ </attribute>
+ <attribute>
+ <name>expires</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>expires</description>
+ </attribute>
+ <attribute>
+ <name>coords</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute specifies the position and shape on the screen. The number and order of values depends on the shape being defined. Possible combinations:
+
+ * rect: left-x, top-y, right-x, bottom-y.
+ * circle: center-x, center-y, radius. Note. When the radius value is a percentage value, user agents should calculate the final radius value based on the associated object's width and height. The radius should be the smaller value of the two.
+ * poly: x1, y1, x2, y2, ..., xN, yN. The first x and y coordinate pair and the last should be the same to close the polygon. When these coordinate values are not the same, user agents should infer an additional coordinate pair to close the polygon.
+
+Coordinates are relative to the top, left corner of the object. All values are lengths. All values are separated by commas.</description>
+ </attribute>
+ <attribute>
+ <name>title</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Advisory title information about markup elements generated for this component.</description>
+ </attribute>
+ <attribute>
+ <name>shape</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>default|rect|circle|poly [CI]
+ This attribute specifies the shape of a region. Possible values:
+
+ * default: Specifies the entire region.
+ * rect: Define a rectangular region.
+ * circle: Define a circular region.
+ * poly: Define a polygonal region.</description>
+ </attribute>
+ <attribute>
+ <name>target</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description></description>
+ </attribute>
+ <attribute>
+ <name>session</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>session</description>
+ </attribute>
+ <attribute>
+ <name>charset</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The character encoding of the resource designated by this hyperlink.</description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If false, this component will not be rendered.</description>
+ </attribute>
+ <attribute>
+ <name>codetype</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>content type for code</description>
+ </attribute>
+ <attribute>
+ <name>classid</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>identifies an implementation</description>
+ </attribute>
+ <attribute>
+ <name>styleClass</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Corresponds to the HTML class attribute.</description>
+ </attribute>
+ <attribute>
+ <name>accesskey</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute assigns an access key to an element. An access key is a single character from the document character set. Note. Authors should consider the input method of the expected reader when specifying an accesskey.</description>
+ </attribute>
+ <attribute>
+ <name>onkeypress</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a key was pressed and released.</description>
+ </attribute>
+ <attribute>
+ <name>ondblclick</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was double clicked.</description>
+ </attribute>
+ <attribute>
+ <name>align</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>bottom|middle|top|left|right
+ Deprecated. This attribute specifies the position of an IMG, OBJECT, or APPLET with respect to its context.
+
+The following values for align concern the object's position with respect to surrounding text:
+
+ * bottom: means that the bottom of the object should be vertically aligned with the current baseline. This is the default value.
+ * middle: means that the center of the object should be vertically aligned with the current baseline.
+ * top: means that the top of the object should be vertically aligned with the top of the current text line.</description>
+ </attribute>
+ <attribute>
+ <name>vspace</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Deprecated. This attribute specifies the amount of white space to be inserted above and below an IMG, APPLET, or OBJECT. The default value is not specified, but is generally a small, non-zero length.</description>
+ </attribute>
+ <attribute>
+ <name>lastModified</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>lastModified</description>
+ </attribute>
+ <attribute>
+ <name>usemap</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>use client-side image map</description>
+ </attribute>
+ <attribute>
+ <name>standby</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>message to show while loading</description>
+ </attribute>
+ <attribute>
+ <name>border</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Deprecated. This attribute specifies the width of an IMG or OBJECT border, in pixels. The default value for this attribute depends on the user agent.</description>
+ </attribute>
+ <attribute>
+ <name>onblur</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Javascript code. The onblur event occurs when an element loses focus either by the pointing device or by tabbing navigation. It may be used with the same elements as onfocus.</description>
+ </attribute>
+ <attribute>
+ <name>value</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>value calculated at render time and store in URI (also as part of cache Key ),
+ at generation time passed to send method. Can be used for update cache at change of generating
+ conditions, and for create beans as "Lightweight" pattern components (request scope).
+ IMPORTANT: Since serialized data stored in URI, avoid to use big objects.</description>
+ </attribute>
+ <attribute>
+ <name>hreflang</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description></description>
+ </attribute>
+ <attribute>
+ <name>codebase</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>base URI for classid, data, archive</description>
+ </attribute>
+ <attribute>
+ <name>type</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The content type of the resource designated by this hyperlink.</description>
+ </attribute>
+ <attribute>
+ <name>uriAttribute</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Name of attribute for resource-link attribute ( 'href' for &lt;a&gt;, 'src' for &lt;img&gt; or &lt;script&gt;, etc</description>
+ </attribute>
+ <attribute>
+ <name>onclick</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was clicked.</description>
+ </attribute>
+ <attribute>
+ <name>ismap</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>use server-side image map</description>
+ </attribute>
+ <attribute>
+ <name>onkeydown</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a key was pressed down.</description>
+ </attribute>
+ <attribute>
+ <name>onmousedown</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML: script expression; a pointer button was pressed down.</description>
+ </attribute>
+ <attribute>
+ <name>hspace</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Deprecated. This attribute specifies the amount of white space to be inserted to the left and right of an IMG, APPLET, or OBJECT. The default value is not specified, but is generally a small, non-zero length.</description>
+ </attribute>
+ <attribute>
+ <name>onfocus</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Javascript code.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>log</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.LogTag</tag-class>
+ <body-content>JSP</body-content>
+ <display-name>pop-up window with request log</display-name>
+ <description>Encode javaScript to open popup window with client-side Log information.</description>
+ <attribute>
+ <name>level</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>log level, possible values : FATAL,ERROR,WARN,INFO,DEBUG,ALL</description>
+ </attribute>
+ <attribute>
+ <name>width</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>width of pop-up.</description>
+ </attribute>
+ <attribute>
+ <name>popup</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Render log as popup-window or as div element in page</description>
+ </attribute>
+ <attribute>
+ <name>height</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>height of pop-up</description>
+ </attribute>
+ <attribute>
+ <name>hotkey</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Keyboard key for activate ( in combination with CTRL+SHIFT ) log window.</description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If false, this component will not be rendered.</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ <attribute>
+ <name>name</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>name of pop-up window</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>form</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.FormTag</tag-class>
+ <body-content>JSP</body-content>
+ <display-name>Ajax-related version of html form</display-name>
+ <description>Ajax-related version of html form. Main difference with original component - all hidden fields,
+ nessesary to command links alwais rendered, not depended of rendering links on initial page.</description>
+ <attribute>
+ <name>timeout</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Timeout ( in ms ) for request.</description>
+ </attribute>
+ <attribute>
+ <name>enctype</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute specifies the content type used to submit the form to the server (when the value of method is "post"). The default value for this attribute is "application/x-www-form-urlencoded". The value "multipart/form-data" should be used in combination with the INPUT element, type="file".</description>
+ </attribute>
+ <attribute>
+ <name>oncomplete</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>JavaScript code for call after request completed on client side</description>
+ </attribute>
+ <attribute>
+ <name>target</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute specifies the name of a frame where a document is to be opened.
+
+By assigning a name to a frame via the name attribute, authors can refer to it as the "target" of links defined by other elements.</description>
+ </attribute>
+ <attribute>
+ <name>ajaxSubmit</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>ajaxSubmit</description>
+ </attribute>
+ <attribute>
+ <name>status</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>ID ( in format of call UIComopnent.findComponent() ) of Request status component.</description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If false, this component will not be rendered.</description>
+ </attribute>
+ <attribute>
+ <name>reRender</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Id['s] ( in format of call UIComopnent.findComponent() ) of components, rendered in case of AjaxRequest caused by this component. Can be single id, comma-separated list of Id's, or EL Expression with array or Collection</description>
+ </attribute>
+ <attribute>
+ <name>targetId</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Alias for reRender : Id['s] ( in format of call UIComopnent.findComponent() ) of components, rendered in case of AjaxRequest caused by this component. Can be single id, comma-separated list of Id's, or EL Expression with array or Collection</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ <attribute>
+ <name>requestDelay</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Delay ( in ms. ) for send ajax request on JavaScript event. In conjunction with events queue can reduce number of requests on keyboard or mouse move events.</description>
+ </attribute>
+ <attribute>
+ <name>eventsQueue</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Name of requests queue to avoid send next request before complete other from same event. Can be used to reduce number of requests of frequently events ( key press, mouse move etc ).</description>
+ </attribute>
+ <attribute>
+ <name>bypassUpdates</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>if true , after process validations phase skip updates of model beans an force render response. can be used for validate components input</description>
+ </attribute>
+ <attribute>
+ <name>limitToList</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>f "true", update on client side ONLY elements from this 'reRender' property. if "false" ( default ) update all rendered by ajax region components.</description>
+ </attribute>
+ <attribute>
+ <name>ajaxSingle</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>if true , submit ONLY one field/link, instead of all form controls.</description>
+ </attribute>
+ <attribute>
+ <name>acceptCharset</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute specifies the list of character encodings for input data that is accepted by the server processing this form. The value is a space- and/or comma-delimited list of charset values. The client must interpret this list as an exclusive-or list, i.e., the server is able to accept any single character encoding per entity received.
+
+The default value for this attribute is the reserved string "UNKNOWN". User agents may interpret this value as the character encoding that was used to transmit the document containing this FORM element.</description>
+ </attribute>
+ <attribute>
+ <name>onreset</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The onreset event occurs when a form is reset. It only applies to the FORM element.</description>
+ </attribute>
+ <attribute>
+ <name>onsubmit</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The onsubmit event occurs when a form is submitted. It only applies to the FORM element.</description>
+ </attribute>
+ <attribute>
+ <name>ignoreDupResponses</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>ignoreDupResponses</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ <attribute>
+ <name>accept</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute specifies a comma-separated list of content types that a server processing this form will handle correctly. User agents may use this information to filter out non-conforming files when prompting a user to select files to be sent to the server (cf. the INPUT element when type="file").</description>
+ </attribute>
+ <attribute>
+ <name>submitted</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>submitted</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>htmlCommandLink</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.HtmlCommandLinkTag</tag-class>
+ <body-content>JSP</body-content>
+ <display-name>Ajax-related version of html command link</display-name>
+ <description>Ajax-related version of html commandLink. Single difference with original component - all hidden fields,
+ nessesary to command links alwais rendered, not depended of rendering links on initial page.</description>
+ <attribute>
+ <name>actionListener</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>MethodBinding pointing at method acception an ActionEvent with
+ return type void.</description>
+ </attribute>
+ <attribute>
+ <name>title</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>title</description>
+ </attribute>
+ <attribute>
+ <name>shape</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>default|rect|circle|poly [CI]
+ This attribute specifies the shape of a region. Possible values:
+
+ * default: Specifies the entire region.
+ * rect: Define a rectangular region.
+ * circle: Define a circular region.
+ * poly: Define a polygonal region.</description>
+ </attribute>
+ <attribute>
+ <name>target</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description></description>
+ </attribute>
+ <attribute>
+ <name>charset</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The character encoding of the resource designated by this hyperlink.</description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If false, this component will not be rendered.</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ <attribute>
+ <name>dir</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>dir</description>
+ </attribute>
+ <attribute>
+ <name>rev</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>A reverse link from the anchor specified by this hyperlink to the current document. The value of this attribute is a space-separated list of link types.</description>
+ </attribute>
+ <attribute>
+ <name>styleClass</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>styleClass</description>
+ </attribute>
+ <attribute>
+ <name>accesskey</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute assigns an access key to an element. An access key is a single character from the document character set. Note. Authors should consider the input method of the expected reader when specifying an accesskey.</description>
+ </attribute>
+ <attribute>
+ <name>onkeypress</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>onkeypress</description>
+ </attribute>
+ <attribute>
+ <name>ondblclick</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>ondblclick</description>
+ </attribute>
+ <attribute>
+ <name>style</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>style</description>
+ </attribute>
+ <attribute>
+ <name>onmouseover</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>onmouseover</description>
+ </attribute>
+ <attribute>
+ <name>onblur</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Javascript code. The onblur event occurs when an element loses focus either by the pointing device or by tabbing navigation. It may be used with the same elements as onfocus.</description>
+ </attribute>
+ <attribute>
+ <name>onkeyup</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>onkeyup</description>
+ </attribute>
+ <attribute>
+ <name>value</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The current value for this component.</description>
+ </attribute>
+ <attribute>
+ <name>action</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>MethodBinding pointing at the application action to be invoked,
+ if this UIComponent is activated by the user, during the Apply
+ Request Values or Invoke Application phase of the request
+ processing lifecycle, depending on the value of the immediate
+ property.</description>
+ </attribute>
+ <attribute>
+ <name>tabindex</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute specifies the position of the current element in the tabbing order for the current document. This value must be a number between 0 and 32767. User agents should ignore leading zeros.</description>
+ </attribute>
+ <attribute>
+ <name>hreflang</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description></description>
+ </attribute>
+ <attribute>
+ <name>type</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The content type of the resource designated by this hyperlink.</description>
+ </attribute>
+ <attribute>
+ <name>lang</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>lang</description>
+ </attribute>
+ <attribute>
+ <name>onclick</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>onclick</description>
+ </attribute>
+ <attribute>
+ <name>onmouseout</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>onmouseout</description>
+ </attribute>
+ <attribute>
+ <name>onkeydown</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>onkeydown</description>
+ </attribute>
+ <attribute>
+ <name>onmousedown</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>onmousedown</description>
+ </attribute>
+ <attribute>
+ <name>rel</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The relationship from the current document to the anchor specified by this hyperlink. The value of this attribute is a space-separated list of link types.</description>
+ </attribute>
+ <attribute>
+ <name>immediate</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>True means, that the default ActionListener should be executed
+ immediately (i.e. during Apply Request Values phase of the
+ request processing lifecycle), rather than waiting until the
+ Invoke Application phase.</description>
+ </attribute>
+ <attribute>
+ <name>onfocus</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Javascript code.</description>
+ </attribute>
+ <attribute>
+ <name>onmouseup</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>onmouseup</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ <attribute>
+ <name>onmousemove</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>onmousemove</description>
+ </attribute>
+ <attribute>
+ <name>coords</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>This attribute specifies the position and shape on the screen. The number and order of values depends on the shape being defined. Possible combinations:
+
+ * rect: left-x, top-y, right-x, bottom-y.
+ * circle: center-x, center-y, radius. Note. When the radius value is a percentage value, user agents should calculate the final radius value based on the associated object's width and height. The radius should be the smaller value of the two.
+ * poly: x1, y1, x2, y2, ..., xN, yN. The first x and y coordinate pair and the last should be the same to close the polygon. When these coordinate values are not the same, user agents should infer an additional coordinate pair to close the polygon.
+
+Coordinates are relative to the top, left corner of the object. All values are lengths. All values are separated by commas.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>include</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.HtmlIncludeTag</tag-class>
+ <body-content>JSP</body-content>
+ <display-name>include content of external view</display-name>
+ <description>include content of external view. Navigation cases in included file change only viewId of included page,
+ and don't perform navigation in root view.</description>
+ <attribute>
+ <name>layout</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>HTML layout for generated markup. Possible values: "block"
+ for generating an HTML &lt;div&gt; element, "inline" for
+ generating an HTML &lt;span&gt; element, and "none" for generating
+ no HTML element. There is a minor exception for the "none" case
+ where a child element has the property "rendered" set to "false".
+ In this case, we create an empty &lt;span&gt; element with same ID
+ as the child element to use as a placeholder for later
+ processing.</description>
+ </attribute>
+ <attribute>
+ <name>lang</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Code describing the language used in the generated markup for this component.</description>
+ </attribute>
+ <attribute>
+ <name>title</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Advisory title information about markup elements generated for this component.</description>
+ </attribute>
+ <attribute>
+ <name>ajaxRendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>ajaxRendered</description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>If false, this component will not be rendered.</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Every component may have an unique id. Automatically created if
+ omitted.</description>
+ </attribute>
+ <attribute>
+ <name>dir</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Alternate textual description of the element rendered by this component.</description>
+ </attribute>
+ <attribute>
+ <name>styleClass</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Corresponds to the HTML class attribute.</description>
+ </attribute>
+ <attribute>
+ <name>keepTransient</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>keepTransient</description>
+ </attribute>
+ <attribute>
+ <name>style</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>CSS style(s) to be applied when this component is rendered.</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>Component binding.</description>
+ </attribute>
+ <attribute>
+ <name>viewId</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>viewId for included page.</description>
+ </attribute>
+ </tag>
+ <tag>
+ <name>repeat</name>
+ <tag-class>org.ajax4jsf.taglib.ajax.AjaxRepeat</tag-class>
+ <body-content>JSP</body-content>
+ <display-name>Ajax-enabled repeater</display-name>
+ <description></description>
+ <attribute>
+ <name>var</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The request-scope attribute under which the data object for the
+ current row will be exposed when iterating.</description>
+ </attribute>
+ <attribute>
+ <name>varState</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>varState</description>
+ </attribute>
+ <attribute>
+ <name>value</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>value</description>
+ </attribute>
+ <attribute>
+ <name>rows</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The number of rows to be displayed, or zero for all remaining
+ rows in the table.</description>
+ </attribute>
+ <attribute>
+ <name>first</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>The zero-relative row number of the first row to be displayed.</description>
+ </attribute>
+ <attribute>
+ <name>rendered</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>rendered</description>
+ </attribute>
+ <attribute>
+ <name>id</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>id</description>
+ </attribute>
+ <attribute>
+ <name>ajaxKeys</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>ajaxKeys</description>
+ </attribute>
+ <attribute>
+ <name>rowKey</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>rowKey</description>
+ </attribute>
+ <attribute>
+ <name>binding</name>
+ <rtexprvalue>false</rtexprvalue>
+ <description>binding</description>
+ </attribute>
+ </tag>
+</taglib>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/aa.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/aa.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/aa.xml 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,44 @@
+<!DOCTYPE pages PUBLIC
+ "-//JBoss/Seam Pages Configuration DTD 1.1//EN"
+ "http://jboss.com/products/seam/pages-1.1.dtd">
+
+<pages>
+
+ <page view-id="/comment.xhtml">
+ <restrict/>
+
+ <param name="name" value="#{selectedMember.memberName}"/>
+ <param name="blogId" value="#{selectedBlog.blogId}"/>
+
+ <navigation from-action="#{blog.saveComment}">
+ <redirect view-id="/blogentry.xhtml"/>
+ </navigation>
+ </page>
+
+ <page view-id="/register.xhtml">
+ <navigation from-action="#{register.next}">
+ <rule if="#{not register.verified}">
+ <redirect view-id="/register.xhtml"/>
+ </rule>
+
+ <rule if="#{register.verified}">
+ <redirect view-id="/register2.xhtml"/>
+ </rule>
+ </navigation>
+ </page>
+
+
+ <exception class="org.jboss.seam.security.NotLoggedInException">
+ <redirect view-id="/register.xhtml">
+ <message >You must be a member to use this feature</message>
+ </redirect>
+ </exception>
+
+ <exception class="org.jboss.seam.security.AuthorizationException">
+ <end-conversation/>
+ <redirect view-id="/security_error.xhtml">
+ <message >You do not have permission to do this</message>
+ </redirect>
+ </exception>
+
+</pages>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/classes/tmp
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/classes/tmp (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/classes/tmp 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1 @@
+
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/example.tld
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/example.tld (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/example.tld 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">
+ <description>JSTL 1.1 i18n-capable formatting library</description>
+ <display-name>Example</display-name>
+ <tlib-version>1.1</tlib-version>
+ <short-name>example</short-name>
+ <uri>example</uri>
+ <validator>
+ <description>Validator Example.</description>
+ <validator-class>org.example.Validator1</validator-class>
+ <init-param>
+ <param-name>p1</param-name>
+ <param-value>v1</param-value>
+ </init-param>
+ </validator>
+ <listener>
+ <listener-class>org.example.Listener1</listener-class>
+ </listener>
+ <tag>
+ <description>Tag Example.</description>
+ <display-name>Tag 1</display-name>
+ <name>tag1</name>
+ <tag-class>org.example.Tag1</tag-class>
+ <body-content>empty</body-content>
+ <variable>
+ <name-given>var1</name-given>
+ <variable-class>java.lang.String</variable-class>
+ <scope>AT_BEGIN</scope>
+ </variable>
+ <attribute>
+ <description>Attribute Example.</description>
+ <name>a1</name>
+ <rtexprvalue>true</rtexprvalue>
+ </attribute>
+ <attribute>
+ <name>a2</name>
+ <fragment>true</fragment>
+ </attribute>
+ </tag>
+ <function>
+ <description>Function Example.</description>
+ <name>f1</name>
+ <function-class>java.lang.String</function-class>
+ <function-signature>x()</function-signature>
+ </function>
+</taglib>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/faces-config-1.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/faces-config-1.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/faces-config-1.xml 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"/>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/faces-config.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/faces-config.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/faces-config.xml 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
+ "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
+<faces-config>
+ <component>
+ <description>Component Example.</description>
+ <display-name>Component c1</display-name>
+ <component-type>c1</component-type>
+ <component-class>javax.faces.component.UICommand</component-class>
+ <facet>
+ <description>Facet Example.</description>
+ <display-name>Facet f1</display-name>
+ <facet-name>f1</facet-name>
+ </facet>
+ <attribute>
+ <description>Attribute Example.</description>
+ <display-name>Attribute a1</display-name>
+ <attribute-name>a1</attribute-name>
+ <attribute-class>java.lang.String</attribute-class>
+ <default-value>v1</default-value>
+ <suggested-value>v2</suggested-value>
+ </attribute>
+ <property>
+ <description>Property Example.</description>
+ <display-name>Property p1</display-name>
+ <property-name>p1</property-name>
+ <property-class>java.lang.Integer</property-class>
+ <default-value>1</default-value>
+ <suggested-value>2</suggested-value>
+ </property>
+ </component>
+ <converter>
+ <description>Converter Example.</description>
+ <converter-id>c1</converter-id>
+ <converter-class>javax.faces.convert.LongConverter</converter-class>
+ <attribute>
+ <attribute-name>a2</attribute-name>
+ <attribute-class/>
+ </attribute>
+ <property>
+ <property-name>p2</property-name>
+ <property-class/>
+ </property>
+ </converter>
+ <converter>
+ <converter-for-class>demo.B</converter-for-class>
+ <converter-class>javax.faces.convert.LongConverter</converter-class>
+ </converter>
+ <managed-bean>
+ <description>Input Value Holder</description>
+ <managed-bean-name>nameBean</managed-bean-name>
+ <managed-bean-class>demo.NameBean</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ <managed-property>
+ <property-name>userName</property-name>
+ <property-class>java.lang.String</property-class>
+ <value/>
+ </managed-property>
+ <managed-property>
+ <property-name>aliases</property-name>
+ <property-class>java.util.List</property-class>
+ <list-entries>
+ <value-class>java.lang.String</value-class>
+ <null-value/>
+ <value>Red Hat</value>
+ </list-entries>
+ </managed-property>
+ </managed-bean>
+ <navigation-rule>
+ <from-view-id>/pages/inputname.jsp</from-view-id>
+ <navigation-case>
+ <from-outcome>greeting</from-outcome>
+ <to-view-id>/pages/greeting.jsp</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <render-kit>
+ <description>Render Kit Example.</description>
+ <display-name>Render Kit myRenderKit</display-name>
+ <render-kit-id>myRenderKit</render-kit-id>
+ <render-kit-class>com.sun.faces.renderkit.RenderKitImpl</render-kit-class>
+ <renderer>
+ <description>Renderer Example.</description>
+ <display-name>Renderer r1</display-name>
+ <component-family>command</component-family>
+ <renderer-type>r1</renderer-type>
+ <renderer-class>com.sun.faces.renderkit.html_basic.ButtonRenderer</renderer-class>
+ <facet>
+ <facet-name>f3</facet-name>
+ </facet>
+ <attribute>
+ <attribute-name>a3</attribute-name>
+ <attribute-class>java.lang.String</attribute-class>
+ </attribute>
+ </renderer>
+ </render-kit>
+ <validator>
+ <description>Validator Example.</description>
+ <display-name>Validator v1</display-name>
+ <validator-id>v1</validator-id>
+ <validator-class>javax.faces.validator.LengthValidator</validator-class>
+ <attribute>
+ <attribute-name>a4</attribute-name>
+ <attribute-class>java.lang.String</attribute-class>
+ </attribute>
+ <property>
+ <property-name>p4</property-name>
+ <property-class>java.lang.String</property-class>
+ </property>
+ </validator>
+ <application>
+ <action-listener>demo.ActionListenerImpl</action-listener>
+ <default-render-kit-id>myRenderKit</default-render-kit-id>
+ <navigation-handler>com.sun.faces.application.NavigationHandlerImpl</navigation-handler>
+ <view-handler>com.sun.faces.application.ViewHandlerImpl</view-handler>
+ <state-manager>com.sun.faces.application.StateManagerImpl</state-manager>
+ <message-bundle>demo.bundle.Messages</message-bundle>
+ <property-resolver>com.sun.faces.el.PropertyResolverImpl</property-resolver>
+ <variable-resolver>com.sun.faces.el.VariableResolverImpl</variable-resolver>
+ <locale-config>
+ <default-locale>en_US</default-locale>
+ <supported-locale>ru</supported-locale>
+ </locale-config>
+ </application>
+</faces-config>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/common-annotations.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/common-annotations.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/commons-beanutils.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/commons-beanutils.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/commons-collections.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/commons-collections.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/commons-digester.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/commons-digester.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/commons-logging.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/commons-logging.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/jsf-api.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/jsf-api.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/jsf-impl.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/jsf-impl.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/jstl.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/jstl.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/standard.jar
===================================================================
(Binary files differ)
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/standard.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/tmp
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/tmp (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/lib/tmp 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1 @@
+
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/web.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/web.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/WEB-INF/web.xml 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+ <display-name>JSFKickStart1</display-name>
+ <context-param>
+ <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+ <param-value>server</param-value>
+ </context-param>
+ <listener>
+ <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
+ </listener>
+ <!-- Faces Servlet -->
+ <servlet>
+ <servlet-name>Faces Servlet</servlet-name>
+ <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+ <init-param>
+ <description>ddd2</description>
+ <param-name>a</param-name>
+ <param-value>c</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <!-- Faces Servlet Mapping -->
+ <servlet-mapping>
+ <servlet-name>Faces Servlet</servlet-name>
+ <url-pattern>*.jsf</url-pattern>
+ </servlet-mapping>
+ <login-config>
+ <auth-method>BASIC</auth-method>
+ </login-config>
+</web-app>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/index.jsp
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/index.jsp (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/index.jsp 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,9 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+
+<html>
+<head>
+</head>
+<body>
+ <jsp:forward page="/pages/inputname.jsf" />
+</body>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/pages/greeting.jsp
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/pages/greeting.jsp (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/pages/greeting.jsp 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,16 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<f:loadBundle basename="demo.bundle.Messages" var="Message"/>
+
+<HTML>
+<HEAD> <title>Greeting Page</title> </HEAD>
+
+<body bgcolor="white">
+ <f:view>
+ <h3>
+ <h:outputText value="#{Message.greeting_text}" />,
+ <h:outputText value="#{nameBean.userName}" />!
+ </h3>
+ </f:view>
+</body>
+</HTML>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/pages/hc.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/pages/hc.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/pages/hc.xml 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+<hibernate-configuration>
+ <session-factory name="r2">
+ <property name="p1">v1</property>
+ <property name="p">v</property>
+ <mapping class="c"/>
+ <mapping class="m"/>
+ <collection-cache collection="cc" usage="read-only"/>
+ <class-cache class="y" include="all" usage="read-only"/>
+ <collection-cache collection="m" usage="read-only"/>
+ <event type="create">
+ <listener class="oo3" type="merge"/>
+ </event>
+ <listener class="p" type="create-onflush"/>
+ <listener class="h" type="post-update"/>
+ </session-factory>
+ <security context="">
+ <grant actions="1" entity-name="1" role="g"/>
+ </security>
+</hibernate-configuration>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/pages/inputname.jsp
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/pages/inputname.jsp (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/WebContent/pages/inputname.jsp 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,21 @@
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<f:loadBundle basename="demo.bundle.Messages" var="Message"/>
+
+<HTML>
+ <HEAD> <title>Input Name Page</title> </HEAD>
+ <body bgcolor="white">
+ <f:view>
+ <h1><h:outputText value="#{Message.inputname_header}"/></h1>
+ <h:messages style="color: red"/>
+ <h:form id="helloForm">
+
+ <h:outputText value="#{Message.prompt}"/>
+ <h:inputText id="userName" value="#{nameBean.userName}" required="true">
+ <f:validateLength minimum="2" maximum="20"/>
+ </h:inputText>
+ <h:commandButton id="submit" action="greeting" value="Say Hello" />
+ </h:form>
+ </f:view>
+ </body>
+</HTML>
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/ant/tmp
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/ant/tmp (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/ant/tmp 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1 @@
+
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/testCases.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/testCases.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/projects/JSFKickStartOldFormat/testCases.xml 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,524 @@
+<tests>
+ <test name="JSFModelTest:testPaths">
+ <property name="path" value="/web.xml"/>
+ </test>
+ <test name="JSFModelTest:testPaths">
+ <property name="path" value="/faces-config.xml"/>
+ </test>
+ <test name="JSFModelTest:testPaths">
+ <property name="path" value="/faces-config.xml/application"/>
+ </test>
+ <test name="JSFModelTest:testPaths">
+ <property name="path" value="/faces-config.xml/application/demo.bundle.Messages"/>
+ </test>
+ <test name="JSFModelTest:testPaths">
+ <property name="path" value="/faces-config.xml/application/com.sun.faces.el.PropertyResolverImpl"/>
+ </test>
+
+ <test name="JSFModelTest:testPaths">
+ <property name="path" value="/faces-config.xml/Navigation Rules"/>
+ </test>
+ <test name="JSFModelTest:testPaths">
+ <property name="path" value="/faces-config.xml/Navigation Rules/rules:#pages#inputname.jsp:0"/>
+ </test>
+
+ <!-- Test application -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/application"/>
+ <property name="attributeName" value="action-listener"/>
+ <property name="attributeValue" value="demo.ActionListenerImpl"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/application"/>
+ <property name="attributeName" value="default-render-kit-id"/>
+ <property name="attributeValue" value="myRenderKit"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/application"/>
+ <property name="attributeName" value="navigation-handler"/>
+ <property name="attributeValue" value="com.sun.faces.application.NavigationHandlerImpl"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/application"/>
+ <property name="attributeName" value="view-handler"/>
+ <property name="attributeValue" value="com.sun.faces.application.ViewHandlerImpl"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/application"/>
+ <property name="attributeName" value="state-manager"/>
+ <property name="attributeValue" value="com.sun.faces.application.StateManagerImpl"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/application/com.sun.faces.el.PropertyResolverImpl"/>
+ <property name="attributeName" value="class name"/>
+ <property name="attributeValue" value="com.sun.faces.el.PropertyResolverImpl"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/application/com.sun.faces.el.PropertyResolverImpl"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="property-resolver"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/application/com.sun.faces.el.VariableResolverImpl"/>
+ <property name="attributeName" value="class name"/>
+ <property name="attributeValue" value="com.sun.faces.el.VariableResolverImpl"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/application/com.sun.faces.el.VariableResolverImpl"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="variable-resolver"/>
+ </test>
+
+ <!-- Test locale config -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/application/Locale Config"/>
+ <property name="attributeName" value="default-locale"/>
+ <property name="attributeValue" value="en_US"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/application/Locale Config/ru"/>
+ <property name="attributeName" value="supported-locale"/>
+ <property name="attributeValue" value="ru"/>
+ </test>
+
+
+ <!-- Test component -->
+
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="component"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1"/>
+ <property name="attributeName" value="component-type"/>
+ <property name="attributeValue" value="c1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1"/>
+ <property name="attributeName" value="description"/>
+ <property name="attributeValue" value="Component Example."/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1"/>
+ <property name="attributeName" value="display-name"/>
+ <property name="attributeValue" value="Component c1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1"/>
+ <property name="attributeName" value="component-class"/>
+ <property name="attributeValue" value="javax.faces.component.UICommand"/>
+ </test>
+
+ <!-- Test facet -->
+
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/facet:f1"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="facet"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/facet:f1"/>
+ <property name="attributeName" value="facet-name"/>
+ <property name="attributeValue" value="f1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/facet:f1"/>
+ <property name="attributeName" value="display-name"/>
+ <property name="attributeValue" value="Facet f1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/facet:f1"/>
+ <property name="attributeName" value="description"/>
+ <property name="attributeValue" value="Facet Example."/>
+ </test>
+
+ <!-- Test component attribute -->
+
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/a1"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="attribute"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/a1"/>
+ <property name="attributeName" value="attribute-name"/>
+ <property name="attributeValue" value="a1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/a1"/>
+ <property name="attributeName" value="attribute-class"/>
+ <property name="attributeValue" value="java.lang.String"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/a1"/>
+ <property name="attributeName" value="default-value"/>
+ <property name="attributeValue" value="v1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/a1"/>
+ <property name="attributeName" value="suggested-value"/>
+ <property name="attributeValue" value="v2"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/a1"/>
+ <property name="attributeName" value="display-name"/>
+ <property name="attributeValue" value="Attribute a1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/a1"/>
+ <property name="attributeName" value="description"/>
+ <property name="attributeValue" value="Attribute Example."/>
+ </test>
+
+ <!-- Test component property -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/p1"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="property"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/p1"/>
+ <property name="attributeName" value="property-name"/>
+ <property name="attributeValue" value="p1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/p1"/>
+ <property name="attributeName" value="property-class"/>
+ <property name="attributeValue" value="java.lang.Integer"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/p1"/>
+ <property name="attributeName" value="default-value"/>
+ <property name="attributeValue" value="1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/p1"/>
+ <property name="attributeName" value="suggested-value"/>
+ <property name="attributeValue" value="2"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/p1"/>
+ <property name="attributeName" value="display-name"/>
+ <property name="attributeValue" value="Property p1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Components/c1/p1"/>
+ <property name="attributeName" value="description"/>
+ <property name="attributeValue" value="Property Example."/>
+ </test>
+
+ <!-- Test converter -->
+
+ <!-- b. test converter declared by 'converter-id' attribute -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Converters/c1"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="converter"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Converters/c1"/>
+ <property name="attributeName" value="converter-id"/>
+ <property name="attributeValue" value="c1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Converters/c1"/>
+ <property name="attributeName" value="converter-class"/>
+ <property name="attributeValue" value="javax.faces.convert.LongConverter"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Converters/c1"/>
+ <property name="attributeName" value="description"/>
+ <property name="attributeValue" value="Converter Example."/>
+ </test>
+ <!-- check attribute and property child elements in converter -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Converters/c1/a2"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="attribute"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Converters/c1/p2"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="property"/>
+ </test>
+ <!-- b. test converter declared by 'converter-for-class' attribute -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Converters/demo.B"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="converter"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Converters/demo.B"/>
+ <property name="attributeName" value="converter-for-class"/>
+ <property name="attributeValue" value="demo.B"/>
+ </test>
+
+ <!-- Test Render Kit -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Render Kits/myRenderKit"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="render-kit"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Render Kits/myRenderKit"/>
+ <property name="attributeName" value="render-kit-id"/>
+ <property name="attributeValue" value="myRenderKit"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Render Kits/myRenderKit"/>
+ <property name="attributeName" value="render-kit-class"/>
+ <property name="attributeValue" value="com.sun.faces.renderkit.RenderKitImpl"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Render Kits/myRenderKit"/>
+ <property name="attributeName" value="description"/>
+ <property name="attributeValue" value="Render Kit Example."/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Render Kits/myRenderKit"/>
+ <property name="attributeName" value="display-name"/>
+ <property name="attributeValue" value="Render Kit myRenderKit"/>
+ </test>
+
+ <!-- Test Renderer -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Render Kits/myRenderKit/r1"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="renderer"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Render Kits/myRenderKit/r1"/>
+ <property name="attributeName" value="renderer-type"/>
+ <property name="attributeValue" value="r1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Render Kits/myRenderKit/r1"/>
+ <property name="attributeName" value="renderer-class"/>
+ <property name="attributeValue" value="com.sun.faces.renderkit.html_basic.ButtonRenderer"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Render Kits/myRenderKit/r1"/>
+ <property name="attributeName" value="description"/>
+ <property name="attributeValue" value="Renderer Example."/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Render Kits/myRenderKit/r1"/>
+ <property name="attributeName" value="display-name"/>
+ <property name="attributeValue" value="Renderer r1"/>
+ </test>
+ <!-- check child elements in renderer -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Render Kits/myRenderKit/r1/facet:f3"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="facet"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Render Kits/myRenderKit/r1/a3"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="attribute"/>
+ </test>
+
+ <!-- Test Validator -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Validators/v1"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="validator"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Validators/v1"/>
+ <property name="attributeName" value="validator-id"/>
+ <property name="attributeValue" value="v1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Validators/v1"/>
+ <property name="attributeName" value="validator-class"/>
+ <property name="attributeValue" value="javax.faces.validator.LengthValidator"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Validators/v1"/>
+ <property name="attributeName" value="description"/>
+ <property name="attributeValue" value="Validator Example."/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Validators/v1"/>
+ <property name="attributeName" value="display-name"/>
+ <property name="attributeValue" value="Validator v1"/>
+ </test>
+ <!-- check child elements in validator -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Validators/v1/a4"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="attribute"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Validators/v1/p4"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="property"/>
+ </test>
+
+ <!-- Test Managed Beans -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Managed Beans/nameBean"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="managed-bean"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Managed Beans/nameBean"/>
+ <property name="attributeName" value="managed-bean-class"/>
+ <property name="attributeValue" value="demo.NameBean"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Managed Beans/nameBean"/>
+ <property name="attributeName" value="managed-bean-scope"/>
+ <property name="attributeValue" value="session"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Managed Beans/nameBean"/>
+ <property name="attributeName" value="description"/>
+ <property name="attributeValue" value="Input Value Holder"/>
+ </test>
+
+ <!-- Test Managed Property -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Managed Beans/nameBean/userName"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="managed-property"/>
+ </test>
+
+ <!-- Test list-values -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Managed Beans/nameBean/aliases/Entries"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="list-entries"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/faces-config.xml/Managed Beans/nameBean/aliases/Entries"/>
+ <property name="attributeName" value="value-class"/>
+ <property name="attributeValue" value="java.lang.String"/>
+ </test>
+
+ <!-- Test Tag Library 2.0 -->
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="tag library descriptor"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/Listeners/org.example.Listener1"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="listener"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/Validator"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="validator"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/Validator"/>
+ <property name="attributeName" value="validator-class"/>
+ <property name="attributeValue" value="org.example.Validator1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/Validator"/>
+ <property name="attributeName" value="description"/>
+ <property name="attributeValue" value="Validator Example."/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/Validator/p1"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="parameter"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/Validator/p1"/>
+ <property name="attributeName" value="param-value"/>
+ <property name="attributeValue" value="v1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/tag1"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="tag"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/tag1"/>
+ <property name="attributeName" value="tagclass"/>
+ <property name="attributeValue" value="org.example.Tag1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/tag1"/>
+ <property name="attributeName" value="bodycontent"/>
+ <property name="attributeValue" value="empty"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/tag1"/>
+ <property name="attributeName" value="display-name"/>
+ <property name="attributeValue" value="Tag 1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/tag1"/>
+ <property name="attributeName" value="description"/>
+ <property name="attributeValue" value="Tag Example."/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/tag1/variable:var1"/>
+ <property name="attributeName" value="name-given"/>
+ <property name="attributeValue" value="var1"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/tag1/variable:var1"/>
+ <property name="attributeName" value="variable-class"/>
+ <property name="attributeValue" value="java.lang.String"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/tag1/variable:var1"/>
+ <property name="attributeName" value="scope"/>
+ <property name="attributeValue" value="AT_BEGIN"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/tag1/a1"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="attribute"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/tag1/a1"/>
+ <property name="attributeName" value="description"/>
+ <property name="attributeValue" value="Attribute Example."/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/tag1/a1"/>
+ <property name="attributeName" value="required"/>
+ <property name="attributeValue" value="false"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/tag1/a1"/>
+ <property name="attributeName" value="rtexprvalue"/>
+ <property name="attributeValue" value="true"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/tag1/a2"/>
+ <property name="attributeName" value="fragment"/>
+ <property name="attributeValue" value="true"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/Functions/f1"/>
+ <property name="attributeName" value="element type"/>
+ <property name="attributeValue" value="function"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/Functions/f1"/>
+ <property name="attributeName" value="function-class"/>
+ <property name="attributeValue" value="java.lang.String"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/Functions/f1"/>
+ <property name="attributeName" value="function-signature"/>
+ <property name="attributeValue" value="x()"/>
+ </test>
+ <test name="JSFModelTest:testPaths:attribute">
+ <property name="path" value="/example.tld/Functions/f1"/>
+ <property name="attributeName" value="description"/>
+ <property name="attributeValue" value="Function Example."/>
+ </test>
+
+
+</tests>
\ No newline at end of file
Modified: trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/JsfAllTests.java
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/JsfAllTests.java 2007-12-18 12:58:58 UTC (rev 5360)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/JsfAllTests.java 2007-12-18 16:41:55 UTC (rev 5361)
@@ -20,6 +20,7 @@
TestSuite suite = new TestSuite("Test model loading for JSF projects");
suite.addTestSuite(JSFModelTest.class);
+ suite.addTestSuite(ModelFormat_2_0_0_Test.class);
return suite;
}
Added: trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/ModelFormat_2_0_0_Test.java
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/ModelFormat_2_0_0_Test.java (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.test/src/org/jboss/tools/jsf/test/ModelFormat_2_0_0_Test.java 2007-12-18 16:41:55 UTC (rev 5361)
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jsf.test;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.jboss.tools.common.test.util.TestProjectProvider;
+
+import org.jboss.tools.common.model.XModel;
+import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.filesystems.FileSystemsHelper;
+import org.jboss.tools.common.model.project.IModelNature;
+import org.jboss.tools.common.model.util.EclipseResourceUtil;
+import org.jboss.tools.jsf.model.pv.JSFProjectsRoot;
+import org.jboss.tools.jsf.model.pv.JSFProjectsTree;
+
+import junit.framework.TestCase;
+
+public class ModelFormat_2_0_0_Test extends TestCase {
+ TestProjectProvider provider = null;
+ IProject project = null;
+ boolean makeCopy = true;
+
+ public ModelFormat_2_0_0_Test() {}
+
+ public void setUp() throws Exception {
+ provider = new TestProjectProvider("org.jboss.tools.jsf.test", null, "JSFKickStartOldFormat", false);
+ project = provider.getProject();
+ try {
+ project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void testModelExists() {
+ IModelNature n = EclipseResourceUtil.getModelNature(project);
+ assertTrue("Test project " + project.getName() + " has no model nature.", n != null);
+ assertTrue("XModel for project " + project.getName() + " is not loaded.", n.getModel() != null);
+ }
+
+ public void testObjects() {
+ IModelNature n = EclipseResourceUtil.getModelNature(project);
+ XModel model = n.getModel();
+ XModelObject fs = FileSystemsHelper.getFileSystems(model);
+ assertTrue("XModel for project " + project.getName() + " is not loaded.", fs != null);
+ String applicationName = fs.getAttributeValue("application name");
+ assertTrue("Project application name is " + applicationName + "; should be JSFKickStartOldFormat", "JSFKickStartOldFormat".equals(applicationName));
+
+ String[] fileSystemList = {
+ "WEB-ROOT",
+ "WEB-INF",
+ "lib-common-annotations.jar"
+ };
+ List<String> unfound = new ArrayList<String>();
+ for (int i = 0; i < fileSystemList.length; i++) {
+ XModelObject fs1 = FileSystemsHelper.getFileSystem(model, fileSystemList[i]);
+ if(fs1 == null) {
+ unfound.add(fileSystemList[i]);
+ }
+ }
+
+ if(unfound.size() > 0) {
+ String message = "File systems not found: ";
+ for (int i = 0; i < unfound.size(); i++) {
+ if(i > 0) message += ", ";
+ message += unfound.get(i);
+ }
+ assertTrue(message, false);
+ }
+
+ }
+
+ public void testJSFProjectStructure() {
+ IModelNature n = EclipseResourceUtil.getModelNature(project);
+ JSFProjectsRoot root = JSFProjectsTree.getProjectsRoot(n.getModel());
+ assertTrue("Cannot find root object.", root != null);
+ XModelObject[] cs = root.getTreeChildren();
+ for (int i = 0; i < cs.length; i++) {
+ System.out.println(cs[i].getPath());
+ }
+ }
+
+
+ protected void tearDown() throws Exception {
+ if(provider != null) {
+ provider.dispose();
+ }
+ }
+
+}
17 years
JBoss Tools SVN: r5360 - in trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets: templates and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: sdzmitrovich
Date: 2007-12-18 07:58:58 -0500 (Tue, 18 Dec 2007)
New Revision: 5360
Added:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/src/org/jboss/tools/jsf/vpe/facelets/template/VpeRepeatTemplate.java
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/templates/vpe-templates-facelets.xml
Log:
http://jira.jboss.com/jira/browse/JBIDE-1284
Added: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/src/org/jboss/tools/jsf/vpe/facelets/template/VpeRepeatTemplate.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/src/org/jboss/tools/jsf/vpe/facelets/template/VpeRepeatTemplate.java (rev 0)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/src/org/jboss/tools/jsf/vpe/facelets/template/VpeRepeatTemplate.java 2007-12-18 12:58:58 UTC (rev 5360)
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jsf.vpe.facelets.template;
+
+import org.jboss.tools.vpe.editor.context.VpePageContext;
+import org.jboss.tools.vpe.editor.template.VpeAbstractTemplate;
+import org.jboss.tools.vpe.editor.template.VpeCreationData;
+import org.mozilla.interfaces.nsIDOMDocument;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+public class VpeRepeatTemplate extends VpeAbstractTemplate {
+
+ @Override
+ protected void init(Element templateElement) {
+ children = true;
+ modify = true;
+ initTemplateSections(templateElement, false, true, false, false, false);
+ }
+
+ public VpeCreationData create(VpePageContext pageContext, Node sourceNode,
+ nsIDOMDocument visualDocument) {
+
+ return new VpeCreationData(null);
+ }
+
+}
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/templates/vpe-templates-facelets.xml
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/templates/vpe-templates-facelets.xml 2007-12-18 12:45:19 UTC (rev 5359)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/templates/vpe-templates-facelets.xml 2007-12-18 12:58:58 UTC (rev 5360)
@@ -79,8 +79,7 @@
</vpe:tag>
<vpe:tag name="ui:repeat" case-sensitive="yes" >
- <vpe:template children="yes" modify="yes">
- <div />
+ <vpe:template class="org.jboss.tools.jsf.vpe.facelets.template.VpeRepeatTemplate">
<vpe:dnd>
<vpe:drag start-enable="yes"/>
<vpe:drop container="yes" />
17 years
JBoss Tools SVN: r5359 - trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/popup.
by jbosstools-commits@lists.jboss.org
Author: dgeraskov
Date: 2007-12-18 07:45:19 -0500 (Tue, 18 Dec 2007)
New Revision: 5359
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/popup/PopupMenuProvider.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1412
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/popup/PopupMenuProvider.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/popup/PopupMenuProvider.java 2007-12-18 12:18:23 UTC (rev 5358)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui.veditor/src/org/jboss/tools/hibernate/ui/veditor/editors/popup/PopupMenuProvider.java 2007-12-18 12:45:19 UTC (rev 5359)
@@ -7,15 +7,23 @@
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.ui.actions.ActionFactory;
+import org.hibernate.mapping.Column;
+import org.hibernate.mapping.PersistentClass;
+import org.hibernate.mapping.Property;
+import org.hibernate.mapping.Table;
import org.jboss.tools.hibernate.ui.veditor.editors.actions.ExportImageAction;
import org.jboss.tools.hibernate.ui.veditor.editors.actions.OpenMappingAction;
import org.jboss.tools.hibernate.ui.veditor.editors.actions.OpenSourceAction;
+import org.jboss.tools.hibernate.ui.veditor.editors.model.Shape;
+import org.jboss.tools.hibernate.ui.veditor.editors.parts.OrmEditPart;
public class PopupMenuProvider extends ContextMenuProvider {
private ActionRegistry actionRegistry;
@@ -31,14 +39,28 @@
menu.add(new Separator(GEFActionConstants.MB_ADDITIONS));
- IAction action = getActionRegistry().getAction(OpenSourceAction.ACTION_ID);
- appendToGroup(GEFActionConstants.MB_ADDITIONS, action);
- createMenuItem(getMenu(), action);
+ IAction action = null;
- action = getActionRegistry().getAction(OpenMappingAction.ACTION_ID);
- appendToGroup(GEFActionConstants.MB_ADDITIONS, action);
- createMenuItem(getMenu(), action);
-
+ if (getViewer().getSelection() instanceof StructuredSelection){
+ IStructuredSelection selection = (IStructuredSelection) getViewer().getSelection();
+ if (selection != null && selection.getFirstElement() instanceof OrmEditPart) {
+ Shape shape = (Shape)((OrmEditPart)selection.getFirstElement()).getModel();
+ Object first = shape.getOrmElement();
+ if (first instanceof PersistentClass
+ || first instanceof Property
+ || first instanceof Table
+ || first instanceof Column){
+ action = getActionRegistry().getAction(OpenSourceAction.ACTION_ID);
+ appendToGroup(GEFActionConstants.MB_ADDITIONS, action);
+ createMenuItem(getMenu(), action);
+
+ action = getActionRegistry().getAction(OpenMappingAction.ACTION_ID);
+ appendToGroup(GEFActionConstants.MB_ADDITIONS, action);
+ createMenuItem(getMenu(), action);
+ }
+ }
+ }
+
action = getActionRegistry().getAction(ExportImageAction.ACTION_ID);
appendToGroup(GEFActionConstants.MB_ADDITIONS, action);
createMenuItem(getMenu(), action);
17 years
JBoss Tools SVN: r5358 - trunk/documentation/guides/userguide/GettingStartedGuide/en/modules.
by jbosstools-commits@lists.jboss.org
Author: ochikvina
Date: 2007-12-18 07:18:23 -0500 (Tue, 18 Dec 2007)
New Revision: 5358
Modified:
trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/first_seam.xml
trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/getting_started.xml
trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/jsp_application.xml
trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/manage.xml
trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/rad_jsf_application.xml
Log:
http://jira.jboss.com/jira/browse/JBDS-143 - adding transition sentences between the chapters and sections
Modified: trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/first_seam.xml
===================================================================
--- trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/first_seam.xml 2007-12-18 11:44:45 UTC (rev 5357)
+++ trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/first_seam.xml 2007-12-18 12:18:23 UTC (rev 5358)
@@ -6,105 +6,164 @@
<keyword>JBoss Developer Studio</keyword>
<keyword>Seam</keyword>
<keyword>JBoss</keyword>
- </keywordset>
+ </keywordset>
</chapterinfo>
-
+
<title>Write Your First Seam Web Application</title>
-
- <para>The JBoss Developer Studio provides sophisticated tools for enterprise applications. With the JBoss Developer Studio, you can get started very quickly with a web prototype, and then scale up your application to include enterprise features (e.g., business processes, web services, etc.) using the same developer tools. It is a "scalable" RAD (Rapid Application Development) tool.</para>
-
- <para>A core element that makes the JBoss Developer Studio "scalable" is the <property>JBoss Seam</property> framework.</para>
-
- <para>In this chapter, we will cover how to build a simple Seam web application in minutes with the JBoss Developer Studio.</para>
-
+
+ <para>The JBoss Developer Studio provides sophisticated tools for enterprise applications. With
+ the JBoss Developer Studio, you can get started very quickly with a web prototype, and then
+ scale up your application to include enterprise features (e.g., business processes, web
+ services, etc.) using the same developer tools. It is a "scalable" RAD (Rapid
+ Application Development) tool.</para>
+
+ <para>A core element that makes the JBoss Developer Studio "scalable" is the
+ <property>JBoss Seam</property> framework.</para>
+
+ <para>In this chapter, we will cover how to build a simple Seam web application in minutes with
+ the JBoss Developer Studio.</para>
+
<section>
<title>Create a Seam Project</title>
-
- <para>To create a new web application in <property>Seam</property>, select <emphasis><property>New > Project ... > Seam > Seam Web Project</property></emphasis>. You will be prompted to enter a name and a location directory for your new project. The wizard has an option for selecting the actual Server (and not just WTP runtime) that will be used for the project. This allow the wizard to correctly identify where the needed datasource and driver libraries need to go.</para>
-
+ <para>To create a new web application in <property>Seam</property>, you should create a Seam web
+ project. This section provides all the necessary steps to organize a new project with appropriate
+ tooling and adjust the settings that match your needs.</para>
+ <para>First, select <emphasis>
+ <property>New > Project ... > Seam > Seam Web Project</property>
+ </emphasis>. You will be prompted to enter a name and a location directory for your new
+ project. The wizard has an option for selecting the actual Server (and not just WTP runtime)
+ that will be used for the project. This allow the wizard to correctly identify where the
+ needed datasource and driver libraries need to go.</para>
+
<figure>
<title>Create a Seam Project</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_1.png"/>
</imageobject>
</mediaobject>
</figure>
-
- <para>Next, you will be asked to select the "features" you want to use in your project. This allows JBoss Developer Studio to setup the appropriate tooling for your project. Since JBoss Seam integrates all popular Java EE frameworks, you can select any combination of technologies from the list. Here, for this project, we will select Dynamic Web Module, Java, JavaServer Faces (JSF), and Seam Facet for a typical database-driven web application. </para>
-
+
+ <para>Next, you will be asked to select the "features" you want to use in your
+ project. This allows JBoss Developer Studio to setup the appropriate tooling for your project.
+ Since JBoss Seam integrates all popular Java EE frameworks, you can select any combination of
+ technologies from the list. Here, for this project, we will select Dynamic Web Module, Java,
+ JavaServer Faces (JSF), and Seam Facet for a typical database-driven web application. </para>
+
<figure>
<title>Select Toolings for the Project</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_2.png"/>
</imageobject>
</mediaobject>
</figure>
- <para>In this screen you can also bring up server runtimes panel by clicking <emphasis><property>Show Runtimes</property></emphasis> in the bottom right corner. This panel shows available server runtimes. Then this button will be changed into <emphasis><property>Hide Runtimes</property></emphasis> one.</para>
- <para>Click <emphasis><property>Next</property></emphasis> to proceed further.</para>
+ <para>In this screen you can also bring up server runtimes panel by clicking <emphasis>
+ <property>Show Runtimes</property>
+ </emphasis> in the bottom right corner. This panel shows available server runtimes. Then this
+ button will be changed into <emphasis>
+ <property>Hide Runtimes</property>
+ </emphasis> one.</para>
+ <para>Click <emphasis>
+ <property>Next</property>
+ </emphasis> to proceed further.</para>
<figure>
<title>Available Server Runtimes</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_2_a.png"/>
</imageobject>
</mediaobject>
</figure>
- <para>A dynamic web application contains both web pages and Java code. The wizard will ask you where you want to put those files. You can just leave the default values.</para>
-
+ <para>A dynamic web application contains both web pages and Java code. The wizard will ask you
+ where you want to put those files. You can just leave the default values.</para>
+
<figure>
<title>Select Directory Names for Web Pages and Java Files</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_3.png"/>
</imageobject>
</mediaobject>
- </figure>
-
-
- <para>In the next screen, you will be able to select where those library JARs come from. The easiest is just to select the JARs provided by the JBoss AS runtime associated with this project. That is why it is important to chose the right JBoss AS 4.2 runtime in the project setup window.</para>
+ </figure>
+
+
+ <para>In the next screen, you will be able to select where those library JARs come from. The
+ easiest is just to select the JARs provided by the JBoss AS runtime associated with this
+ project. That is why it is important to chose the right JBoss AS 4.2 runtime in the project
+ setup window.</para>
<orderedlist continuation="continues">
- <listitem><para>Check <emphasis><property>Server Supplied JSF Implementation</property></emphasis>. We will use JSF implementation that comes with JBoss server</para></listitem>
- <listitem><para>Click <emphasis><property>Next</property></emphasis></para></listitem>
+ <listitem>
+ <para>Check <emphasis>
+ <property>Server Supplied JSF Implementation</property>
+ </emphasis>. We will use JSF implementation that comes with JBoss server</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Next</property>
+ </emphasis></para>
+ </listitem>
</orderedlist>
<figure>
<title>Define JSF Implementation</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_5.png"/>
</imageobject>
</mediaobject>
</figure>
-
- <para>We will also use a default Hibernate Dialect - <emphasis>org.hibernate.dialect.HSQLDialect</emphasis> and deploy as a <emphasis>war</emphasis> archive.</para>
-
- <para>The project setup wizard also asks you to configure how Seam generates code for the project. The Seam Home Folder should point to a valid Seam distribution. By default, it is set to the Seam distribution bundled in your JBoss Developer Studio tool. If you need another one choose setting up the appropriate check box:</para>
-
+
+ <para>We will also use a default Hibernate Dialect -
+ <emphasis>org.hibernate.dialect.HSQLDialect</emphasis> and deploy as a
+ <emphasis>war</emphasis> archive.</para>
+
+ <para>The project setup wizard also asks you to configure how Seam generates code for the
+ project. The Seam Home Folder should point to a valid Seam distribution. By default, it is set
+ to the Seam distribution bundled in your JBoss Developer Studio tool. If you need another one
+ choose setting up the appropriate check box:</para>
+
<figure>
<title>Enter Java Packages for Generated Code</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_6.png"/>
</imageobject>
</mediaobject>
</figure>
-<para>If in this list there is no Seam runtime you want to use add it through <emphasis><property>Window > Preferences > JBoss Tools > Web > Seam</property></emphasis> or just click <emphasis><property>Add</property></emphasis> button near the Seam Runtime list:</para>
-<figure>
+ <para>If in this list there is no Seam runtime you want to use add it through <emphasis>
+ <property>Window > Preferences > JBoss Tools > Web >
+ Seam</property>
+ </emphasis> or just click <emphasis>
+ <property>Add</property>
+ </emphasis> button near the Seam Runtime list:</para>
+ <figure>
<title>Add New Seam Runtime</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_7.png"/>
</imageobject>
</mediaobject>
</figure>
-<para>For the deployment format, choose WAR deployment if you want to use POJOs for UI event handling and business logic; choose EAR deployment if you want to EJB3 beans for added features. In most web applications, the WAR deployment option would suffice. You should also enter Java packages for the entity beans (for database mapping) and session beans (for action handlers). All generated code will be placed in those packages. </para>
+ <para>For the deployment format, choose WAR deployment if you want to use POJOs for UI event
+ handling and business logic; choose EAR deployment if you want to EJB3 beans for added
+ features. In most web applications, the WAR deployment option would suffice. You should also
+ enter Java packages for the entity beans (for database mapping) and session beans (for action
+ handlers). All generated code will be placed in those packages. </para>
- <para>Click on <emphasis><property>Finish</property></emphasis> to generate a project. The generated project contains all the necessary library JARs, XML configuration files, the ANT build script, as well as simple XHTML web pages and Java classes for the skeleton web application. The project will be shown in Project Explorer as well as in <emphasis><property>Seam Components</property></emphasis> view. If Seam Components view is not open select <emphasis><property>Window > Show View > Seam Components</property></emphasis>.</para>
+ <para>Click on <emphasis>
+ <property>Finish</property>
+ </emphasis> to generate a project. The generated project contains all the necessary library
+ JARs, XML configuration files, the ANT build script, as well as simple XHTML web pages and
+ Java classes for the skeleton web application. The project will be shown in Project Explorer
+ as well as in <emphasis>
+ <property>Seam Components</property>
+ </emphasis> view. If Seam Components view is not open select <emphasis>
+ <property>Window > Show View > Seam Components</property>
+ </emphasis>.</para>
<figure>
<title>Seam Components View</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_8.png"/>
</imageobject>
@@ -112,76 +171,109 @@
</figure>
<para>You can hide unused Seam components from this view.</para>
<itemizedlist>
- <listitem><para>Click the button <emphasis><property>Menu</property></emphasis> on the top of the view (down-pointing arrow)</para></listitem>
- <listitem><para>Choose <emphasis><property>Customize View..</property></emphasis></para></listitem>
- <listitem><para>In the dialog <emphasis><property>Available Customization</property></emphasis> check the filter you want to apply under the <emphasis><property>Filters</property></emphasis> tab</para></listitem>
+ <listitem>
+ <para>Click the button <emphasis>
+ <property>Menu</property>
+ </emphasis> on the top of the view (down-pointing arrow)</para>
+ </listitem>
+ <listitem>
+ <para>Choose <emphasis>
+ <property>Customize View..</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>In the dialog <emphasis>
+ <property>Available Customization</property>
+ </emphasis> check the filter you want to apply under the <emphasis>
+ <property>Filters</property>
+ </emphasis> tab</para>
+ </listitem>
</itemizedlist>
<figure>
<title>Seam Components Filtering</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_9.png"/>
</imageobject>
</mediaobject>
</figure>
</section>
-
+
<section>
<title>Build and Deploy the Seam Application</title>
-
- <para>Once the application is generated, you can use the "Run on server" menu to build and deploy it into the JBoss AS runtime associated with the project. All you need is to start JBoss AS in the server manager, and load the browser at URL http://localhost:8080/MySeamProj/. You should see the following web page.</para>
-
+
+ <para>Once the application is generated, you can use the "Run on server" menu
+ to build and deploy it into the JBoss AS runtime associated with the project. All you need is
+ to start JBoss AS in the server manager, and load the browser at URL
+ http://localhost:8080/MySeamProj/. You should see the following web page.</para>
+
<figure>
<title>The Generated Application in Action</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_10.png" scale="75"/>
</imageobject>
</mediaobject>
</figure>
-
- <para>To make simple changes to the page, you just need to double click on the <emphasis><property>WebContent/home.xhtml file</property></emphasis> and edit it in the visual editor. Notice that the visual editor lets you both the XHTML code and the rendered page. The rendered view is designed to make it easy to find stuff in a complex XHTML page.</para>
-
+
+ <para>To make simple changes to the page, you just need to double click on the <emphasis>
+ <property>WebContent/home.xhtml file</property>
+ </emphasis> and edit it in the visual editor. Notice that the visual editor lets you both the
+ XHTML code and the rendered page. The rendered view is designed to make it easy to find stuff
+ in a complex XHTML page.</para>
+
<figure>
<title>Making Changes in the Visual Editor</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_11.png" scale="75"/>
</imageobject>
</mediaobject>
</figure>
-
- <para>Once you finished editing, save the file (<emphasis><property>File > Save</property></emphasis>), and reload the browser to see the changes.</para>
-
+
+ <para>Once you finished editing, save the file (<emphasis>
+ <property>File > Save</property>
+ </emphasis>), and reload the browser to see the changes.</para>
+
<figure>
<title>The Front Page is Changed</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_12.png"/>
</imageobject>
</mediaobject>
</figure>
-
- <para>Notice that we do not need to re-build and re-deploy the application. Just save the edited page and reload the browser.</para>
-
+
+ <para>Notice that we do not need to re-build and re-deploy the application. Just save the edited
+ page and reload the browser.</para>
+
</section>
-
+
<section>
<title>Add a Web Page and an Action</title>
-
- <para>To add a new page and related UI action to the project, use the <emphasis><property>New > Other ... > Seam > Seam Form</property></emphasis> wizard. You are prompted to enter the name of the project and seam component name, all the others fields will be filled by the wizard.</para>
-
+
+ <para>Here, we are going to add a new page and related UI action to the project.</para>
+ <para>To do this use the <emphasis>
+ <property>New > Other ... > Seam > Seam Form</property>
+ </emphasis> wizard. You are prompted to enter the name of the project and seam component name,
+ all the others fields will be filled by the wizard.</para>
+
<figure>
<title>New Form for the Application</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_13.png"/>
</imageobject>
</mediaobject>
</figure>
-
- <para>The wizard generate a web page with a single text input field and an action button. Notice that the generated page uses <emphasis><property>layout/template.xhtml</property></emphasis> as a template. The template page provides the page header, footer, side menu, and CSS styles (see the template.xhtml for more details). The simpleAction.xhtml is assembled into the template when the simpleAction.seam URL is loaded.</para>
-
+
+ <para>The wizard generate a web page with a single text input field and an action button. Notice
+ that the generated page uses <emphasis>
+ <property>layout/template.xhtml</property>
+ </emphasis> as a template. The template page provides the page header, footer, side menu, and
+ CSS styles (see the template.xhtml for more details). The simpleAction.xhtml is assembled into
+ the template when the simpleAction.seam URL is loaded.</para>
+
<programlisting role="XML"><![CDATA[
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -218,14 +310,22 @@
]]></programlisting>
<figure>
<title>Generated Form</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_14.png"/>
</imageobject>
</mediaobject>
</figure>
- <para>The <emphasis><property>#{simpleAction.value}</property></emphasis> notation on the web page maps to the "value" property in the backend component named "simpleAction", and the <emphasis><property>#{simpleAction.simpleAction}</property></emphasis> notation indicates that the <emphasis><property>simpleAction()</property></emphasis> method is called when the button is clicked on. Here is the "simpleAction" named backend Seam component generated by the wizard.</para>
-
+ <para>The <emphasis>
+ <property>#{simpleAction.value}</property>
+ </emphasis> notation on the web page maps to the "value" property in the
+ backend component named "simpleAction", and the <emphasis>
+ <property>#{simpleAction.simpleAction}</property>
+ </emphasis> notation indicates that the <emphasis>
+ <property>simpleAction()</property>
+ </emphasis> method is called when the button is clicked on. Here is the
+ "simpleAction" named backend Seam component generated by the wizard.</para>
+
<programlisting role="JAVA"><![CDATA[package org.domain.MySeamProj.session;
import org.jboss.seam.annotations.Name;
@@ -268,27 +368,43 @@
}
]]></programlisting>
-
- <para>Load the Simplepage.seam in the web browser. Type something in the text field and click on the "simpleAction" button. A JSF message containing the input string is created by the <emphasis><property>simpleAction.simpleAction()</property></emphasis> method. The message is displayed on the page via the <emphasis role="bold"><property><h:message></property></emphasis> tag.</para>
-
+
+ <para>Load the Simplepage.seam in the web browser. Type something in the text field and click on
+ the "simpleAction" button. A JSF message containing the input string is
+ created by the <emphasis>
+ <property>simpleAction.simpleAction()</property>
+ </emphasis> method. The message is displayed on the page via the <emphasis role="bold">
+ <property><h:message></property>
+ </emphasis> tag.</para>
+
</section>
-
+
<section>
<title>Input Validation</title>
-
- <para>Notice that in the generated SimpleAction class, there is a <emphasis><property>@Length</property></emphasis> annotation to validate the input when the input string is bound to <emphasis><property>#{simpleAction.value}</property></emphasis>. To see how this works, enter a text string longer than 10 chars and click on the button. This is what you should see.</para>
-
+ <para>In this section we'll focus on the support of input validations.</para>
+ <para>Notice that in the generated SimpleAction class, there is a <emphasis>
+ <property>@Length</property>
+ </emphasis> annotation to validate the input when the input string is bound to <emphasis>
+ <property>#{simpleAction.value}</property>
+ </emphasis>. To see how this works, enter a text string longer than 10 chars and click on the
+ button. This is what you should see.</para>
+
<figure>
<title>The Input Validation in Action</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_15.png"/>
</imageobject>
</mediaobject>
</figure>
-
- <para>Seam supports many different input validation annotations. To see an example, you can replace the <emphasis><property>@Length(max=10)</property></emphasis> annotation with the following. It would require the input string to have a first name and last name separated by a space. If the validation fails, the web page would print the customized error message.</para>
-
+
+ <para>Seam supports many different input validation annotations. To see an example, you can
+ replace the <emphasis>
+ <property>@Length(max=10)</property>
+ </emphasis> annotation with the following. It would require the input string to have a first
+ name and last name separated by a space. If the validation fails, the web page would print the
+ customized error message.</para>
+
<programlisting role="JAVA"><![CDATA[@NotNull
@Pattern(regex="^[a-zA-Z.-]+ [a-zA-Z.-]+",
message="Need a firstname and a lastname")
@@ -297,25 +413,29 @@
return value;
}
]]></programlisting>
-
- <para>Save the Java file, deploy the application, and reload the browser to see the new validation scheme in action.</para>
-
+
+ <para>Save the Java file, deploy the application, and reload the browser to see the new
+ validation scheme in action.</para>
+
<figure>
<title>More Input Validation</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_16.png"/>
</imageobject>
</mediaobject>
</figure>
-
+
</section>
-
+
<section>
<title>Add a new UI Component</title>
-
- <para>Now, let's add a little more logic to the application. We will add a new boolean property to the action component. If it is set to true, the action would capitalize the input string and display it on the web page. The following code in the SimpleAction class implements the logic.</para>
-
+
+ <para>Now, let's add a little more logic to the application. We will add a new boolean
+ property to the action component. If it is set to true, the action would capitalize the input
+ string and display it on the web page. The following code in the SimpleAction class implements
+ the logic.</para>
+
<programlisting role="JAVA"><![CDATA[@Name("simpleAction")
public class SimpleAction {
@@ -335,38 +455,46 @@
}
]]></programlisting>
- <para>Next, on the web page, add the following line to display the value property on the simpleAction component. Notice that code completion is supported for the JSF EL expression.</para>
-
+ <para>Next, on the web page, add the following line to display the value property on the
+ simpleAction component. Notice that code completion is supported for the JSF EL expression.</para>
+
<programlisting role="XML"><![CDATA[<p><b>Hello, #{simpleAction.value}</b></p>
]]></programlisting>
- <para>Finally, on the web page, we add a boolean selection box component. It is bound to the <emphasis><property>convertToCap</property></emphasis> property on the backend component.</para>
-
+ <para>Finally, on the web page, we add a boolean selection box component. It is bound to the <emphasis>
+ <property>convertToCap</property>
+ </emphasis> property on the backend component.</para>
+
<programlisting role="XML"><![CDATA[<h:selectBooleanCheckbox title="convertToCap"
value="#{simpleAction.convertToCap}" />
Capitalize the input?
]]></programlisting>
<para>Deploy the application and see it in action now.</para>
-
+
<figure>
<title>Add UI Components and Business Logic</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_17.png"/>
</imageobject>
</mediaobject>
</figure>
-
+
</section>
-
+
<section id="AddSecurity">
<title>Add Security to the Application</title>
-
- <para>You have probably noticed that the web page template has a login link at the top of the page. You can use the Seam security framework to secure access to
- any web page or web action. We just use hardcoded username and password but you can easily change it to use database, LDAP or any other means.
- The simplest use case for Seam security is to add a declarative security in <property>pages.xml</property> (<emphasis><property>WebContent > WEB-INF > pages.xml</property></emphasis>) like this:</para>
-
+
+ <para>As the last point, we can add an access control to the application.</para>
+ <para>You have probably noticed that the web page template has a login link at the top of the
+ page. You can use the Seam security framework to secure access to any web page or web action.
+ We just use hardcoded username and password but you can easily change it to use database, LDAP
+ or any other means. The simplest use case for Seam security is to add a declarative security
+ in <property>pages.xml</property> (<emphasis>
+ <property>WebContent > WEB-INF > pages.xml</property>
+ </emphasis>) like this:</para>
+
<programlisting role="XML"><![CDATA[<!DOCTYPE pages PUBLIC
"-//JBoss/Seam Pages Configuration DTD 1.2//EN"
"http://jboss.com/products/seam/pages-1.2.dtd">
@@ -378,35 +506,43 @@
<page view-id="/simpleAction.xhtml" login-required="true"/>
</pages>]]></programlisting>
-
-
- <para>Re-deploy the application and try the action button. The application redirects to the <emphasis><property>login</property></emphasis> page asking for login credentials. The method is invoked after you successfully logged in.</para>
-
+
+
+ <para>Re-deploy the application and try the action button. The application redirects to the <emphasis>
+ <property>login</property>
+ </emphasis> page asking for login credentials. The method is invoked after you successfully
+ logged in.</para>
+
<figure>
<title>Access Control for Action Methods</title>
- <mediaobject>
+ <mediaobject>
<imageobject>
<imagedata fileref="images/first_seam/first_seam_18.png"/>
</imageobject>
</mediaobject>
</figure>
-
+
</section>
-
-<section id="OtherRelevantResourcesOnTheTopic2">
-<?dbhtml filename="OtherRelevantResourcesOnTheTopic2.html"?>
-<title>Other relevant resources on the topic</title>
-<para>Seam on JBoss: <ulink url="http://www.jboss.com/products/seam">Seam Framework</ulink></para>
-<para>Ten Good Reasons to use Seam: <ulink url="http://www.jboss.com/products/seam/whyseam">Why Seam</ulink></para>
-<para>Getting Started: <ulink url="http://labs.jboss.com/jbossseam/gettingstarted">Getting Started with JBoss Seam</ulink></para>
-<para>Wiki: <ulink url="http://www.jboss.com/wiki/Wiki.jsp?page=JBossSeam">JBoss Wiki</ulink></para>
-<para>FAQ: <ulink url="http://labs.jboss.com/jbossseam/faq/index.html">JBoss Seam FAQ</ulink></para>
-<para>Downloads: <ulink url="http://labs.jboss.com/jbossseam/download">JBoss Seam Downloads</ulink></para>
-<para>Jira: <ulink url="http://jira.jboss.org/jira/browse/JBSEAM">Jira issue tracker</ulink></para>
-<para>Rules Framework: <ulink url="http://www.jboss.com/products/rules">JBoss Rules</ulink></para>
-<para>Seam Tools - New and Noteworthy: <ulink url="http://fisheye.jboss.org/browse/~raw,r=3993/JBossTools/trunk/documentatio...">What's new and noteworthy</ulink></para>
+ <section id="OtherRelevantResourcesOnTheTopic2">
+ <?dbhtml filename="OtherRelevantResourcesOnTheTopic2.html"?>
+ <title>Other relevant resources on the topic</title>
+ <para>Seam on JBoss: <ulink url="http://www.jboss.com/products/seam">Seam Framework</ulink></para>
-</section>
+ <para>Ten Good Reasons to use Seam: <ulink url="http://www.jboss.com/products/seam/whyseam">Why
+ Seam</ulink></para>
+ <para>Getting Started: <ulink url="http://labs.jboss.com/jbossseam/gettingstarted">Getting
+ Started with JBoss Seam</ulink></para>
+ <para>Wiki: <ulink url="http://www.jboss.com/wiki/Wiki.jsp?page=JBossSeam">JBoss Wiki</ulink></para>
+ <para>FAQ: <ulink url="http://labs.jboss.com/jbossseam/faq/index.html">JBoss Seam FAQ</ulink></para>
+ <para>Downloads: <ulink url="http://labs.jboss.com/jbossseam/download">JBoss Seam
+ Downloads</ulink></para>
+ <para>Jira: <ulink url="http://jira.jboss.org/jira/browse/JBSEAM">Jira issue tracker</ulink></para>
+ <para>Rules Framework: <ulink url="http://www.jboss.com/products/rules">JBoss Rules</ulink></para>
+ <para>Seam Tools - New and Noteworthy: <ulink
+ url="http://fisheye.jboss.org/browse/~raw,r=3993/JBossTools/trunk/documentatio..."
+ >What's new and noteworthy</ulink></para>
+
+ </section>
</chapter>
Modified: trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/getting_started.xml
===================================================================
--- trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/getting_started.xml 2007-12-18 11:44:45 UTC (rev 5357)
+++ trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/getting_started.xml 2007-12-18 12:18:23 UTC (rev 5358)
@@ -275,6 +275,7 @@
</section>
<section id="JBossToolsInstall">
<title>JBoss Tools Installation</title>
+ <para>Here, let's consider the installation of the JBoss Tools modules.</para>
<para>JBoss Tools is an umbrella project for the JBoss developed plugins that will make it into
JBoss Developer Studio. The JBoss Tools modules are:</para>
<itemizedlist>
Modified: trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/jsp_application.xml
===================================================================
--- trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/jsp_application.xml 2007-12-18 11:44:45 UTC (rev 5357)
+++ trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/jsp_application.xml 2007-12-18 12:18:23 UTC (rev 5358)
@@ -2,35 +2,62 @@
<chapter id="jsp_application" xreflabel="jsp_application">
<?dbhtml filename="jsp_application.html"?>
<chapterinfo>
- <keywordset>
- <keyword>JBoss Developer Studio</keyword>
- <keyword>JSP</keyword>
- <keyword>JBoss</keyword>
- </keywordset>
- </chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>JSP</keyword>
+ <keyword>JBoss</keyword>
+ </keywordset>
+ </chapterinfo>
<title>Developing a simple JSP web application</title>
-
+
<note>
<title>Note:</title>
- <para>We highly recommend developing in <property>Seam</property>. This chapter is for users who for some reason cannot use Seam.</para>
+ <para>We highly recommend developing in <property>Seam</property>. This chapter is for users
+ who for some reason cannot use Seam.</para>
</note>
-
- <para>In this chapter you'll find out how to create a simple JSP application using the JBoss Developer Studio. The application will show a classic "Hello World!" on the page.</para>
- <para>We'll assume that you have already launched JBoss Developer Studio and
-also that the Web Development perspective is the current perspective. (If not, make it active by selecting <emphasis><property>Window > Open Perspective > Web Development</property></emphasis> from the menu bar or by selecting <emphasis><property>Window > Open Perspective > Other...</property></emphasis> from the menu bar and then selecting Web Development from
-the Select Perspective dialog box.)</para>
+
+ <para>In this chapter you'll find out how to create a simple JSP application using the JBoss
+ Developer Studio. The application will show a classic "Hello World!" on
+ the page.</para>
+ <para>We'll assume that you have already launched JBoss Developer Studio and also that
+ the Web Development perspective is the current perspective. (If not, make it active by
+ selecting <emphasis>
+ <property>Window > Open Perspective > Web Development</property>
+ </emphasis> from the menu bar or by selecting <emphasis>
+ <property>Window > Open Perspective > Other...</property>
+ </emphasis> from the menu bar and then selecting Web Development from the Select Perspective
+ dialog box.)</para>
<section id="SettingUpTheProject">
<?dbhtml filename="SettingUpTheProject.html"?>
<title>Setting Up the Project</title>
- <para>At first a new project for the application will be created.</para>
+ <para>We'll start with creation a new project for the application.</para>
<itemizedlist>
- <listitem><para>Go to the menu bar and select <emphasis><property>File > New > Project...</property></emphasis></para></listitem>
- <listitem><para>Select <emphasis><property>Web > Dynamic Web Project</property></emphasis> in the New Project dialog box</para></listitem>
- <listitem><para>Click <emphasis><property>Next</property></emphasis> </para></listitem>
- <listitem><para>Enter "jspHello" as a project name</para></listitem>
- <listitem><para>Leave everything else as is, and click <emphasis><property>Finish</property></emphasis></para></listitem>
- </itemizedlist>
- <figure>
+ <listitem>
+ <para>Go to the menu bar and select <emphasis>
+ <property>File > New > Project...</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>Web > Dynamic Web Project</property>
+ </emphasis> in the New Project dialog box</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Next</property>
+ </emphasis>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Enter "jspHello" as a project name</para>
+ </listitem>
+ <listitem>
+ <para>Leave everything else as is, and click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure>
<title>Create New Web Project</title>
<mediaobject>
<imageobject>
@@ -47,21 +74,37 @@
</imageobject>
</mediaobject>
</figure>
- </section>
-
- <section id="CreatingJSPPage">
- <?dbhtml filename="CreatingJSPPage.html"?>
- <title>Creating JSP Page</title>
- <para>In our simple application we need to create only one JSP page which displays a "Hello World!" message.</para>
+ </section>
+
+ <section id="CreatingJSPPage">
+ <?dbhtml filename="CreatingJSPPage.html"?>
+ <title>Creating JSP Page</title>
+ <para>This section covers all the points how to create, edit and then preview JSP page.</para>
+ <para>In our simple application we need to create only one JSP page which displays a
+ "Hello World!" message.</para>
<itemizedlist continuation="continues">
-<listitem><para>Right click <emphasis><property>WebContent > New > JSP</property></emphasis>.</para></listitem>
-<listitem><para>Type "hello.jsp" for a file name and click the <emphasis><property>Next</property></emphasis> button.</para></listitem>
-</itemizedlist>
-<para>In the next window you can choose a template for your jsp page and see its preview.</para>
-<itemizedlist continuation="continues">
-<listitem><para>Select <emphasis><property>New JSP File (xhtml)</property></emphasis> template and click <emphasis><property>Finish</property></emphasis> button.</para></listitem>
-</itemizedlist>
-<figure>
+ <listitem>
+ <para>Right click <emphasis>
+ <property>WebContent > New > JSP</property>
+ </emphasis>.</para>
+ </listitem>
+ <listitem>
+ <para>Type "hello.jsp" for a file name and click the <emphasis>
+ <property>Next</property>
+ </emphasis> button.</para>
+ </listitem>
+ </itemizedlist>
+ <para>In the next window you can choose a template for your jsp page and see its preview.</para>
+ <itemizedlist continuation="continues">
+ <listitem>
+ <para>Select <emphasis>
+ <property>New JSP File (xhtml)</property>
+ </emphasis> template and click <emphasis>
+ <property>Finish</property>
+ </emphasis> button.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
<title>Create JSP Page</title>
<mediaobject>
<imageobject>
@@ -71,164 +114,227 @@
</figure>
<para>Our hello.jsp page will now appear in Project Explorer.</para>
<section id="EditingJSPPage">
- <?dbhtml filename="EditingJSPPage.html"?>
- <title>Editing a JSP Page</title>
- <para>Let's now make a little change so that a jsp page displays "Hello World!" message.</para>
- <itemizedlist continuation="continues">
-<listitem><para>Insert this line inside the <emphasis role="bold"><property><body></property></emphasis><emphasis role="bold"><property></body></property></emphasis> tag:
-</para></listitem>
-</itemizedlist>
-<programlisting role="XML"><![CDATA[<% System.out.println("Hello World!"); %>]]>
+ <?dbhtml filename="EditingJSPPage.html"?>
+ <title>Editing a JSP Page</title>
+ <para>Let's now make a little change so that a jsp page displays
+ "Hello World!" message.</para>
+ <itemizedlist continuation="continues">
+ <listitem>
+ <para>Insert this line inside the <emphasis role="bold">
+ <property><body></property>
+ </emphasis><emphasis role="bold">
+ <property></body></property>
+ </emphasis> tag: </para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<% System.out.println("Hello World!"); %>]]>
</programlisting>
-<para>Notice that content assist functionality is always available when you are typing:</para>
-<figure>
- <title>Content Assist in JSP Page</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/jsp_application/jsp_application_4.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>After changes made your hello.jsp page should look like this:</para>
- <figure>
- <title>Hello.jsp Page</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/jsp_application/jsp_application_5.png"/>
- </imageobject>
- </mediaobject>
- </figure>
+ <para>Notice that content assist functionality is always available when you are typing:</para>
+ <figure>
+ <title>Content Assist in JSP Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>After changes made your hello.jsp page should look like this:</para>
+ <figure>
+ <title>Hello.jsp Page</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
</section>
-
+
<section id="WebXML">
- <?dbhtml filename="WebXML.html"?>
- <title>web.xml file</title>
- <para>When you are creating web project the wizard creates the web.xml for you automatically. The web.xml file editor provided by JBoss Developer Studio is available in two modes: design and source.</para>
- <figure>
- <title>Web.xml in Design Mode</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/jsp_application/jsp_application_6.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <figure>
- <title>Web.xml in Source Mode</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/jsp_application/jsp_application_7.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>Both modes are fully synchronized. Let's add mapping to our hello.jsp page in web.xml file.</para>
- <itemizedlist>
- <listitem><para>Switch to <property>source</property> mode.</para></listitem>
- <listitem><para>Add the next code into <emphasis role="bold"><property><welcome-file-list></property></emphasis>:</para></listitem>
- </itemizedlist>
- <programlisting role="XML"><![CDATA[<welcome-file>hello.jsp</welcome-file>
+ <?dbhtml filename="WebXML.html"?>
+ <title>web.xml file</title>
+ <para>When you are creating web project the wizard creates the web.xml for you
+ automatically. The web.xml file editor provided by JBoss Developer Studio is
+ available in two modes: design and source.</para>
+ <figure>
+ <title>Web.xml in Design Mode</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_6.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <figure>
+ <title>Web.xml in Source Mode</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_7.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>Both modes are fully synchronized. Let's add mapping to our hello.jsp
+ page in web.xml file.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to <property>source</property> mode.</para>
+ </listitem>
+ <listitem>
+ <para>Add the next code into <emphasis role="bold">
+ <property><welcome-file-list></property>
+ </emphasis>:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<welcome-file>hello.jsp</welcome-file>
]]></programlisting>
-<para>If you come back to design mode you will see that the changes made are automatically reflected in that mode.</para>
-<para>Actually you don't really need any config right now. You can clear the web.xml file, save it and you'll still be able to launch your application.</para>
+ <para>If you come back to design mode you will see that the changes made are
+ automatically reflected in that mode.</para>
+ <para>Actually you don't really need any config right now. You can clear the
+ web.xml file, save it and you'll still be able to launch your
+ application.</para>
</section>
-
+
<section id="DeployTheProject">
- <?dbhtml filename="DeployTheProject.html"?>
- <title>Deploying the project</title>
- <para>While creating any web project you could experience a pain writing ant scripts and managing the
-packaging even if a developer is writing the most trivial web applications. With JBoss Developer Studio you are saved from such a pain. All you need is to start JBoss server and launch your application in your favorite browser.</para>
- <para>You can also create a war archive with JBDS's Archive Tools and export it to any web server.</para>
- <section id="WarConfig">
- <?dbhtml filename="WarConfig.html"?>
- <title>WAR Config</title>
- <para>Project archives managing is available through <property>Project archives</property> view.</para>
- <itemizedlist>
- <listitem><para>Select <emphasis><property>Window > Show view > Other > JBoss Tools > Project archives</property></emphasis> from menu bar</para></listitem>
- <listitem><para>Select a project in Package Explorer you want to be archived</para></listitem>
- </itemizedlist>
- <para>In Project Archives you will see available archive types for the project:</para>
- <figure>
- <title>Project Archives</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/jsp_application/jsp_application_8.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <itemizedlist>
- <listitem><para>Click, for example, <emphasis><property>WAR</property></emphasis> option to create war archive</para></listitem>
- </itemizedlist>
- <para>In the dialog New WAR you can see automatically selected default values</para>
- <figure>
- <title>New WAR Archive</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/jsp_application/jsp_application_9.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <itemizedlist>
- <listitem><para>Click <emphasis><property>Next</property></emphasis> to see a stub archive configuration for your project:
- <figure>
- <title>Stub Archive Configuration</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/jsp_application/jsp_application_10.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- </para></listitem>
- <listitem><para>Click <emphasis><property>Finish</property></emphasis>. The <emphasis>.war</emphasis> file will appear in Package Explorer and in Project archives view as structure tree:
- <figure>
- <title>Archive is Created</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/jsp_application/jsp_application_11.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <figure>
- <title>Archive in Project Archives View</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/jsp_application/jsp_application_12.png" scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
- </para></listitem>
- </itemizedlist>
- <para>Via Project archives view you could now edit your archive, add new folders, publish to server, and so on:</para>
- <figure>
- <title>Configure Archive</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/jsp_application/jsp_application_13.png" scale="75"/>
- </imageobject>
- </mediaobject>
- </figure>
+ <?dbhtml filename="DeployTheProject.html"?>
+ <title>Deploying the project</title>
+ <para>While creating any web project you could experience a pain writing ant scripts and
+ managing the packaging even if a developer is writing the most trivial web
+ applications. With JBoss Developer Studio you are saved from such a pain. All you
+ need is to start JBoss server and launch your application in your favorite browser.</para>
+ <para>You can also create a war archive with JBDS's Archive Tools and export it
+ to any web server.</para>
+ <section id="WarConfig">
+ <?dbhtml filename="WarConfig.html"?>
+ <title>WAR Config</title>
+ <para>Project archives managing is available through <property>Project
+ archives</property> view.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis>
+ <property>Window > Show view > Other > JBoss
+ Tools > Project archives</property>
+ </emphasis> from menu bar</para>
+ </listitem>
+ <listitem>
+ <para>Select a project in Package Explorer you want to be archived</para>
+ </listitem>
+ </itemizedlist>
+ <para>In Project Archives you will see available archive types for the project:</para>
+ <figure>
+ <title>Project Archives</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_8.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Click, for example, <emphasis>
+ <property>WAR</property>
+ </emphasis> option to create war archive</para>
+ </listitem>
+ </itemizedlist>
+ <para>In the dialog New WAR you can see automatically selected default values</para>
+ <figure>
+ <title>New WAR Archive</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_9.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Next</property>
+ </emphasis> to see a stub archive configuration for your project: <figure>
+ <title>Stub Archive Configuration</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsp_application/jsp_application_10.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Finish</property>
+ </emphasis>. The <emphasis>.war</emphasis> file will appear in Package
+ Explorer and in Project archives view as structure tree: <figure>
+ <title>Archive is Created</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsp_application/jsp_application_11.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <figure>
+ <title>Archive in Project Archives View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/jsp_application/jsp_application_12.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>Via Project archives view you could now edit your archive, add new folders,
+ publish to server, and so on:</para>
+ <figure>
+ <title>Configure Archive</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_13.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="AutoRedeploy">
+ <?dbhtml filename="AutoRedeploy.html"?>
+ <title>Auto redeploy</title>
+ <para>When you are creating a web application and register it on JBoss server it is
+ automatically deployed into <emphasis>/deploy</emphasis> directory of the
+ server. JBDS comes with the feature of auto-redeploy. It means that you
+ don't need to restart JBoss. Any changes made in the application in
+ exploded format will trigger a redeployment on the server.</para>
+ </section>
</section>
-
- <section id="AutoRedeploy">
- <?dbhtml filename="AutoRedeploy.html"?>
- <title>Auto redeploy</title>
- <para>When you are creating a web application and register it on JBoss server it is automatically deployed into <emphasis>/deploy</emphasis> directory of the server. JBDS comes with the feature of auto-redeploy. It means that you don't need to restart JBoss. Any changes made in the application in exploded format will trigger a redeployment on the server.</para>
- </section>
- </section>
-
+
<section id="Previewtab">
- <?dbhtml filename="Previewtab.html"?>
- <title>JSP Page Preview</title>
- <para>JBDS comes with JSP design-time preview features. When designing JSP pages you can easily preview how they will look during runtime. You can even attach your stylesheet to the preview.</para>
- <itemizedlist>
- <listitem><para>Make a little change to hello.jsp page, e.g. put this code snippet:</para></listitem>
+ <?dbhtml filename="Previewtab.html"?>
+ <title>JSP Page Preview</title>
+ <para>JBDS comes with JSP design-time preview features. When designing JSP pages you can
+ easily preview how they will look during runtime. You can even attach your
+ stylesheet to the preview.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Make a little change to hello.jsp page, e.g. put this code snippet:</para>
+ </listitem>
</itemizedlist>
<programlisting role="XML"><![CDATA[<%= new java.util.Date() %>
]]></programlisting>
- <itemizedlist>
- <listitem><para>Click <emphasis><property>Save</property></emphasis> button.</para></listitem>
- <listitem><para>Switch to Preview page by clicking Preview tab at the bottom of the page. You will see how the page will look at runtime.</para></listitem>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Save</property>
+ </emphasis> button.</para>
+ </listitem>
+ <listitem>
+ <para>Switch to Preview page by clicking Preview tab at the bottom of the page.
+ You will see how the page will look at runtime.</para>
+ </listitem>
</itemizedlist>
-<!-- <figure>
+ <!-- <figure>
<title>Preview Page</title>
<mediaobject>
<imageobject>
@@ -236,44 +342,56 @@
</imageobject>
</mediaobject>
</figure>
--->
+-->
</section>
<section id="LaunchingTheProject">
- <?dbhtml filename="LaunchingTheProject.html"?>
- <title>Launch JSP Project</title>
- <para>Let's now launch our project on server. We'll use JBoss server that is shipped with JBoss Developer Studio.</para>
- <itemizedlist continuation="continues">
-<listitem><para>Start JBoss server from JBoss Server view by clicking the Start icon.</para></listitem>
-</itemizedlist>
-<figure>
- <title>Starting Server</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/jsp_application/jsp_application_15.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <itemizedlist continuation="continues">
-<listitem><para>Click the Run icon or right click your project folder and select <emphasis><property>Run As > Run on Server</property></emphasis>. If you haven't made any changes in web.xml file or cleared it out you can launch the application by right clicking the hello.jsp page and selecting <emphasis><property>Run on the Server</property></emphasis>.</para></listitem>
-</itemizedlist>
-<figure>
- <title>Run Project</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/jsp_application/jsp_application_16.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- <para>You should see the next page in a browser :</para>
- <figure>
- <title>Running Project</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/jsp_application/jsp_application_17.png"/>
- </imageobject>
- </mediaobject>
- </figure>
+ <?dbhtml filename="LaunchingTheProject.html"?>
+ <title>Launch JSP Project</title>
+ <para>Let's now launch our project on server. We'll use JBoss server
+ that is shipped with JBoss Developer Studio.</para>
+ <itemizedlist continuation="continues">
+ <listitem>
+ <para>Start JBoss server from JBoss Server view by clicking the Start
+ icon.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Starting Server</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_15.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist continuation="continues">
+ <listitem>
+ <para>Click the Run icon or right click your project folder and select <emphasis>
+ <property>Run As > Run on Server</property>
+ </emphasis>. If you haven't made any changes in web.xml file or
+ cleared it out you can launch the application by right clicking the
+ hello.jsp page and selecting <emphasis>
+ <property>Run on the Server</property>
+ </emphasis>.</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Run Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_16.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>You should see the next page in a browser :</para>
+ <figure>
+ <title>Running Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/jsp_application/jsp_application_17.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
</section>
- </section>
-
-</chapter>
\ No newline at end of file
+ </section>
+
+</chapter>
Modified: trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/manage.xml
===================================================================
--- trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/manage.xml 2007-12-18 11:44:45 UTC (rev 5357)
+++ trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/manage.xml 2007-12-18 12:18:23 UTC (rev 5358)
@@ -16,7 +16,7 @@
<section id="JBossbundled">
<?dbhtml filename="JBossbundled.html"?>
<title>How to Manage the JBoss AS Bundled in JBDS</title>
- <para>This section covers the basics of working with the JBoss server directly supported by JBDS via bundled plug-in.</para>
+ <para>This section covers the basics of working with the JBoss server supported directly by JBDS via bundled plug-in.</para>
<section id="StartingServer">
<?dbhtml filename="StartingServer.html"?>
<title>Starting JBoss server</title>
Modified: trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/rad_jsf_application.xml
===================================================================
--- trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/rad_jsf_application.xml 2007-12-18 11:44:45 UTC (rev 5357)
+++ trunk/documentation/guides/userguide/GettingStartedGuide/en/modules/rad_jsf_application.xml 2007-12-18 12:18:23 UTC (rev 5358)
@@ -1,208 +1,371 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter id="rad_jsf_application" xreflabel="rad_jsf_application">
<?dbhtml filename="rad_jsf_application.html"?>
- <chapterinfo>
- <keywordset>
- <keyword>JBoss Developer Studio</keyword>
- <keyword>JSF</keyword>
- <keyword>JBoss</keyword>
- <keyword>RAD</keyword>
- </keywordset>
- </chapterinfo>
- <title>RAD development of a simple JSF application</title>
-
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Developer Studio</keyword>
+ <keyword>JSF</keyword>
+ <keyword>JBoss</keyword>
+ <keyword>RAD</keyword>
+ </keywordset>
+ </chapterinfo>
+ <title>RAD development of a simple JSF application</title>
+
<note>
<title>Note:</title>
- <para>We highly recommend developing in <property>Seam</property>. This chapter is for users who for some reason cannot use Seam.</para>
+ <para>We highly recommend developing in <property>Seam</property>. This chapter is for users
+ who for some reason cannot use Seam.</para>
</note>
-
- <para>In this chapter you will see how to create a simple JSF application being based on <property>"RAD"</property> philosophy. We will create the familiar Guess Number application. The scenario is the following. You are asked to guess a number between 0 and 100. If the guess is correct, a success page is displayed with a link to play again. If the guess is incorrect, a message is printed notifying the user that a smaller or a larger number should be entered and the game continues.</para>
- <para>We'll show you how to create such an application from scratch, along the way demonstrating powerful features of JBoss Developer Studio such as project templating, Visual Page Editor, code completion and others. You will design the
-JSF application and then run the application from inside JBoss Developer Studio using the bundled JBoss server.</para>
-<section id="SettingUpTheProject12">
-<?dbhtml filename="SettingUpTheProject12.html"?>
-<title>Setting up the project</title>
-<para>We will create a JSF 1.2 project using an integrated JBDS's new project wizard and predefined templates.</para>
-<itemizedlist>
- <listitem><para>In Web Projects View (if it is not open select <emphasis><property>Window > Show View > Others > JBoss Tools Web > Web Projects View</property></emphasis>) click <emphasis><property>Create New JSF Project</property></emphasis> button.
-<figure>
-<title>Create New JSF Project</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_1.png"/>
- </imageobject>
-</mediaobject>
-</figure></para></listitem>
+ <para>In this chapter you will see how to create a simple JSF application being based on
+ <property>"RAD"</property> philosophy. We will create the familiar
+ Guess Number application. The scenario is the following. You are asked to guess a number
+ between 0 and 100. If the guess is correct, a success page is displayed with a link to play
+ again. If the guess is incorrect, a message is printed notifying the user that a smaller or
+ a larger number should be entered and the game continues.</para>
+ <para>We'll show you how to create such an application from scratch, along the way
+ demonstrating powerful features of JBoss Developer Studio such as project templating, Visual
+ Page Editor, code completion and others. You will design the JSF application and then run
+ the application from inside JBoss Developer Studio using the bundled JBoss server.</para>
-<listitem><para>Put <property>GuessNumber</property> as a project name, in JSF Environment drop down list choose <property>JSF 1.2.</property></para></listitem>
-<listitem><para>Leave everything else as it is and click <emphasis><property>Finish</property></emphasis></para></listitem>
-</itemizedlist>
-<para>Our project will appear in Project Explorer and Web Projects Views. As you can see Red Had Developer Studio has created for us the whole skeleton for the project with all needed libraries, faces-config.xml and web.xml files.</para>
-<figure>
-<title>New JSF Project</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_2.png"/>
- </imageobject>
-</mediaobject>
-</figure>
+ <section id="SettingUpTheProject12">
+ <?dbhtml filename="SettingUpTheProject12.html"?>
+ <title>Setting up the project</title>
+ <para>First, we will create a JSF 1.2 project using an integrated JBDS's new
+ project wizard and predefined templates. Follow the next steps:</para>
+ <itemizedlist>
+ <listitem>
+ <para>In Web Projects View (if it is not open select <emphasis>
+ <property>Window > Show View > Others > JBoss Tools Web
+ > Web Projects View</property>
+ </emphasis>) click <emphasis>
+ <property>Create New JSF Project</property>
+ </emphasis> button. <figure>
+ <title>Create New JSF Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/rad_jsf_application/rad_jsf_application_1.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure></para>
+ </listitem>
-</section>
-<section id="CreatingJSPPages">
-<?dbhtml filename="CreatingJSPPages.html"?>
-<title>Creating JSP Pages</title>
-<para>The application has two pages. The first page is inputnumber.jsp. It prompts you to enter a number. If the guess is incorrect, the same page will be redisplayed with a message indicating whether a smaller or a larger number should be tried. The second page is success.jsp. This page will be shown after you guess the number correctly. From this page you also have the option to play the game again.</para>
+ <listitem>
+ <para>Put <property>GuessNumber</property> as a project name, in JSF Environment
+ drop down list choose <property>JSF 1.2.</property></para>
+ </listitem>
+ <listitem>
+ <para>Leave everything else as it is and click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>Our project will appear in Project Explorer and Web Projects Views. As you can see Red
+ Had Developer Studio has created for us the whole skeleton for the project with all
+ needed libraries, faces-config.xml and web.xml files.</para>
+ <figure>
+ <title>New JSF Project</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_2.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
-<para>On the first page inputnumber.jsp you will enter a number.</para>
-<itemizedlist>
- <listitem><para>Open <emphasis><property>faces-config.xml</property></emphasis> file</para></listitem>
-<listitem><para>Right click anywhere on the diagram mode</para></listitem>
-<listitem><para>From the context menu select <emphasis><property>New View</property></emphasis></para></listitem>
-</itemizedlist>
-<figure>
-<title>Create New View</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_3.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<itemizedlist>
+ </section>
+ <section id="CreatingJSPPages">
+ <?dbhtml filename="CreatingJSPPages.html"?>
+ <title>Creating JSP Pages</title>
+ <para>And now, let's add two pages to our application.</para>
+ <para>The first page is inputnumber.jsp. It prompts you to
+ enter a number. If the guess is incorrect, the same page will be redisplayed with a
+ message indicating whether a smaller or a larger number should be tried. The second page
+ is success.jsp. This page will be shown after you guess the number correctly. From this
+ page you also have the option to play the game again.</para>
- <listitem><para>Type <emphasis><property>pages/inputnumber</property></emphasis> as the value for <emphasis><property>From-view-id</property></emphasis></para></listitem>
- <listitem><para>Leave everything else as is and click <emphasis><property>Finish</property></emphasis></para></listitem>
- <listitem><para>In the same way create another jsf view. Type <emphasis><property>pages/success</property></emphasis> as the value for <emphasis><property>From-view-id</property></emphasis></para></listitem>
-<listitem><para>Select <emphasis><property>File > Save</property></emphasis></para></listitem>
-</itemizedlist>
-<para>On the diagram you will see two created views.</para>
-<figure>
-<title>New Views</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_4.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-</section>
+ <para>On the first page inputnumber.jsp you will enter a number.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Open <emphasis>
+ <property>faces-config.xml</property>
+ </emphasis> file</para>
+ </listitem>
+ <listitem>
+ <para>Right click anywhere on the diagram mode</para>
+ </listitem>
+ <listitem>
+ <para>From the context menu select <emphasis>
+ <property>New View</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Create New View</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_3.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
-<section id="CreatingTransition">
-<?dbhtml filename="CreatingTransition.html"?>
-<title>Creating Transition between two views</title>
-<para>We should now create connection between jsp pages.</para>
-<itemizedlist>
- <listitem><para>In the diagram, select the <emphasis><property>Create New Connection</property></emphasis> icon third from the top along the upper left side of the diagram to get an arrow cursor with a two-pronged plug at the arrow's bottom
-<figure>
-<title>Create Connection</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_5.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-</para></listitem>
-<listitem><para>Click on the <emphasis><property>pages/inputnumber</property></emphasis> page icon and then click on the <emphasis><property>pages/success</property></emphasis> page icon</para></listitem>
-</itemizedlist>
-<para>A transition should appear between the two icons of views.</para>
-<figure>
-<title>Created Connection</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_6.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<itemizedlist>
-<listitem><para>Select <emphasis><property>File > Save</property></emphasis> from the menu bar</para></listitem>
-</itemizedlist>
-</section>
-<section id="CreatingResourceFile">
-<?dbhtml filename="CreatingResourceFile.html"?>
-<title>Creating Resource File</title>
-<para>JBoss Developer Studio allows to create quickly a resource file. Using this feature you can collect text messages in one central place. A resource file is just a file with a <emphasis>.properties</emphasis> extension. The messages stored in resource file can be displayed to you on a Web page during application execution. </para>
-<para>With resource file first, you don't hard code anything into the JSP pages. And second, it makes it easier to translate your application to other languages. All you have to do is to translate all your messages to the other language and save them in a new properties file with a name that ends with the appropriate ISO-639 language code.</para>
-<para>It is a good idea to keep your resources inside the <emphasis><property>JavaSource</property></emphasis> folder, where you keep your .java files. Every time you build the project, all <emphasis>.properties</emphasis> files will then be copied to the <emphasis>classes</emphasis> folder by default.</para>
-<itemizedlist>
-<listitem><para>Right click <emphasis><property>JavaSource</property></emphasis> folder and select <emphasis><property>New > Folder</property></emphasis></para></listitem>
- <listitem><para>Type <emphasis><property>game</property></emphasis> for Folder name and click <emphasis><property>Finish</property></emphasis></para></listitem>
-</itemizedlist>
-<para>We will store in this folder our resource file and java bean.</para>
-<itemizedlist>
- <listitem><para>Right click on <emphasis><property>game folder</property></emphasis> and select <emphasis><property>New > Properties File</property></emphasis></para></listitem>
-<listitem><para>Type <emphasis><property>messages</property></emphasis> as the value for "name" attribute and click <emphasis><property>Finish</property></emphasis></para></listitem>
-</itemizedlist>
-<para>JBoss Developer Studio will automatically open <property>messages.properties</property> file for editing.</para>
-<figure>
-<title>Messages.properties File</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_7.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<itemizedlist>
-<listitem><para>Click <emphasis><property>Add</property></emphasis> button</para></listitem>
-<listitem><para>Type <emphasis role="italic"><property>how_to_play</property></emphasis> for "name" and <emphasis role="italic"><property>Please pick a number between 0 and 100.</property></emphasis> for value</para></listitem>
-<listitem><para>Click <emphasis><property>Finish</property></emphasis></para></listitem>
-<listitem><para>In such a way add the next properties:</para></listitem>
-</itemizedlist>
-<programlisting role="JAVA"><![CDATA[makeguess_button=Make Guess
+ <listitem>
+ <para>Type <emphasis>
+ <property>pages/inputnumber</property>
+ </emphasis> as the value for <emphasis>
+ <property>From-view-id</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Leave everything else as is and click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>In the same way create another jsf view. Type <emphasis>
+ <property>pages/success</property>
+ </emphasis> as the value for <emphasis>
+ <property>From-view-id</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>File > Save</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>On the diagram you will see two created views.</para>
+ <figure>
+ <title>New Views</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_4.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+
+ <section id="CreatingTransition">
+ <?dbhtml filename="CreatingTransition.html"?>
+ <title>Creating Transition between two views</title>
+ <para>Then, we should create connection between jsp pages.</para>
+ <itemizedlist>
+ <listitem>
+ <para>In the diagram, select the <emphasis>
+ <property>Create New Connection</property>
+ </emphasis> icon third from the top along the upper left side of the diagram to
+ get an arrow cursor with a two-pronged plug at the arrow's bottom <figure>
+ <title>Create Connection</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/rad_jsf_application/rad_jsf_application_5.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Click on the <emphasis>
+ <property>pages/inputnumber</property>
+ </emphasis> page icon and then click on the <emphasis>
+ <property>pages/success</property>
+ </emphasis> page icon</para>
+ </listitem>
+ </itemizedlist>
+ <para>A transition should appear between the two icons of views.</para>
+ <figure>
+ <title>Created Connection</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_6.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Select <emphasis>
+ <property>File > Save</property>
+ </emphasis> from the menu bar</para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ <section id="CreatingResourceFile">
+ <?dbhtml filename="CreatingResourceFile.html"?>
+ <title>Creating Resource File</title>
+ <para>JBoss Developer Studio allows to create quickly a resource file. Using this feature
+ you can collect text messages in one central place. A resource file is just a file with
+ a <emphasis>.properties</emphasis> extension. The messages stored in resource file can
+ be displayed to you on a Web page during application execution. </para>
+ <para>With resource file first, you don't hard code anything into the JSP pages.
+ And second, it makes it easier to translate your application to other languages. All you
+ have to do is to translate all your messages to the other language and save them in a
+ new properties file with a name that ends with the appropriate ISO-639 language code.</para>
+ <para>It is a good idea to keep your resources inside the <emphasis>
+ <property>JavaSource</property>
+ </emphasis> folder, where you keep your .java files. Every time you build the project,
+ all <emphasis>.properties</emphasis> files will then be copied to the
+ <emphasis>classes</emphasis> folder by default.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click <emphasis>
+ <property>JavaSource</property>
+ </emphasis> folder and select <emphasis>
+ <property>New > Folder</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>game</property>
+ </emphasis> for Folder name and click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>We will store in this folder our resource file and java bean.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click on <emphasis>
+ <property>game folder</property>
+ </emphasis> and select <emphasis>
+ <property>New > Properties File</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>messages</property>
+ </emphasis> as the value for "name" attribute and click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>JBoss Developer Studio will automatically open
+ <property>messages.properties</property> file for editing.</para>
+ <figure>
+ <title>Messages.properties File</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_7.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Add</property>
+ </emphasis> button</para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis role="italic">
+ <property>how_to_play</property>
+ </emphasis> for "name" and <emphasis role="italic">
+ <property>Please pick a number between 0 and 100.</property>
+ </emphasis> for value</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>In such a way add the next properties:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[makeguess_button=Make Guess
trayagain_button=Play Again?
success_text=How cool.. You have guessed the number, {0} is correct!
tryagain_smaller=Oops..incorrect guess. Please try a smaller number.
tryagain_bigger=Oops..incorrect guess. Please try a bigger number.
]]></programlisting>
-<itemizedlist>
-<listitem><para>Click <emphasis><property>File > Save</property></emphasis> from the menu bar</para></listitem>
-</itemizedlist>
-<para>Your .properties file should now look like follows:</para>
-<figure>
-<title>Properties are Added</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_8.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-</section>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property>File > Save</property>
+ </emphasis> from the menu bar</para>
+ </listitem>
+ </itemizedlist>
+ <para>Your .properties file should now look like follows:</para>
+ <figure>
+ <title>Properties are Added</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_8.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
-<section id="CreatingJavaBean">
-<?dbhtml filename="CreatingJavaBean.html"?>
-<title>Creating Java Bean</title>
-<para>Now we create a Java bean that will hold business logic of our application.</para>
-<itemizedlist>
-<listitem><para>Right click <emphasis><property>game folder</property></emphasis></para></listitem>
-<listitem><para>Select <emphasis><property>New > Class</property></emphasis></para></listitem>
-<listitem><para>Type <emphasis><property>NumberBean</property></emphasis> for bean name</para></listitem>
-</itemizedlist>
-<para>A java bean is created.</para>
-<itemizedlist>
-<listitem><para>Declare the variable of your entered number:</para></listitem>
-</itemizedlist>
-<programlisting role="JAVA"><![CDATA[Integer userNumber;
+ <section id="CreatingJavaBean">
+ <?dbhtml filename="CreatingJavaBean.html"?>
+ <title>Creating Java Bean</title>
+ <para>In this section you'll see how to create a Java bean that will hold business logic of our application.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click <emphasis>
+ <property>game folder</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>New > Class</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>NumberBean</property>
+ </emphasis> for bean name</para>
+ </listitem>
+ </itemizedlist>
+ <para>A java bean is created.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Declare the variable of your entered number:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[Integer userNumber;
]]></programlisting>
-<para>JBDS allows to quickly generate getters and setters for java bean.</para>
-<itemizedlist>
- <listitem><para>Right click <emphasis><property>NumberBean.java</property></emphasis> in Package Explorer</para></listitem>
-<listitem><para>Select <emphasis><property>Source > Generate Getters and Setters...</property></emphasis></para></listitem>
-<listitem><para>Check <emphasis><property>userNumber</property></emphasis> box and click <emphasis><property>OK</property></emphasis>
-<figure>
-<title>Generate Getters and Setters</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_9.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-</para></listitem>
-<listitem><para>Add the declaration of the second variable</para></listitem>
-</itemizedlist>
-<programlisting role="JAVA"><![CDATA[int randomNumber;
+ <para>JBDS allows to quickly generate getters and setters for java bean.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click <emphasis>
+ <property>NumberBean.java</property>
+ </emphasis> in Package Explorer</para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>Source > Generate Getters and Setters...</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Check <emphasis>
+ <property>userNumber</property>
+ </emphasis> box and click <emphasis>
+ <property>OK</property>
+ </emphasis>
+ <figure>
+ <title>Generate Getters and Setters</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/rad_jsf_application/rad_jsf_application_9.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Add the declaration of the second variable</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[int randomNumber;
]]></programlisting>
-<itemizedlist>
-<listitem><para>.. other bean methods:</para></listitem>
-</itemizedlist>
-<programlisting role="JAVA"><![CDATA[public NumberBean ()
+ <itemizedlist>
+ <listitem>
+ <para>.. other bean methods:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[public NumberBean ()
{
randomNumber = (int)(Math.random()*100);
System.out.println ( "Random number: "+randomNumber);
@@ -239,17 +402,19 @@
}
}
]]></programlisting>
-<itemizedlist>
-<listitem><para>And the import declarations:</para></listitem>
-</itemizedlist>
-<programlisting role="JAVA"><![CDATA[import javax.faces.context.FacesContext;
+ <itemizedlist>
+ <listitem>
+ <para>And the import declarations:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="JAVA"><![CDATA[import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import javax.faces.application.FacesMessage;
import java.util.Locale;
import java.util.ResourceBundle;
]]></programlisting>
-<para>The whole java bean should look as follows:</para>
-<programlisting role="JAVA"><![CDATA[import javax.faces.context.FacesContext;
+ <para>The whole java bean should look as follows:</para>
+ <programlisting role="JAVA"><![CDATA[import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import javax.faces.application.FacesMessage;
import java.util.Locale;
@@ -313,17 +478,22 @@
}
}
]]></programlisting>
-</section>
+ </section>
-<section id="EditingFacesConfig">
-<?dbhtml filename="EditingFacesConfig.html"?>
-<title>Editing faces-config.xml File</title>
-<para>This file holds two navigation rules and defines the backing bean used.</para>
-<itemizedlist>
-<listitem><para>Open faces-config.xml file in a source mode</para></listitem>
-<listitem><para>Add here one more navigation rule and a managed bean declarations that the content of the file looks like this:</para></listitem>
-</itemizedlist>
-<programlisting role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+ <section id="EditingFacesConfig">
+ <?dbhtml filename="EditingFacesConfig.html"?>
+ <title>Editing faces-config.xml File</title>
+ <para>This file holds two navigation rules and defines the backing bean used.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Open faces-config.xml file in a source mode</para>
+ </listitem>
+ <listitem>
+ <para>Add here one more navigation rule and a managed bean declarations that the
+ content of the file looks like this:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -353,161 +523,372 @@
</faces-config>
]]></programlisting>
-<para>The first navigation rule states that from any page (<property>*</property> stands for any page) an outcome of playagain will take you to <emphasis>/pages/inputnumber.jsp</emphasis>. Outcome values are returned from backing bean methods in this example. The second navigation rule states that if you are at the page <emphasis>/pages/inputnumber.jsp</emphasis>, and the outcome is success, then navigate to the <emphasis>/pages/success.jsp</emphasis> page.
-</para>
-</section>
-<section id="EditingTheJSPViewFiles2">
-<?dbhtml filename="EditingTheJSPViewFiles2.html"?>
-<title>Editing the JSP View Files</title>
-<para>Now we will finish editing the JSP files for our two "views" using Visual Page
-Editor.</para>
-<section id="EditingInputjsp">
-<?dbhtml filename="EditingInputjsp.html"?>
-<title>Editing inputnumber.jsp page</title>
-<para>On this page we will have an output text component displaying a message, a text field for user's number entering and a button for input submission.</para>
-<itemizedlist>
-<listitem><para>Open inputnumber.jsp by double-clicking on the <emphasis><property>/pages/inputnumber.
-jsp</property></emphasis> icon</para></listitem>
-</itemizedlist>
-<para>The Visual Page Editor will open in a screen split between source code along the top and
-a WYSIWIG view along the bottom. You can see that some JSF code will be already generated as we choose a template when creating the page.</para>
-<para>At the beginning it's necessary to create a <emphasis role="bold"><property><h:form></property></emphasis> component where all others components are put.</para>
-<itemizedlist>
-<listitem><para>Place the mouse cursor inside <emphasis role="bold"><property><f:view></property></emphasis><emphasis role="bold"><property></f:view></property></emphasis></para></listitem>
-<listitem><para>Go to JBoss Tools Palette and expand JSF HTML folder by selecting it</para></listitem>
-<listitem><para>Click on <emphasis role="bold"><property><h:form></property></emphasis> tag
-<figure>
-<title>Insert h:form</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_10.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-</para></listitem>
-<listitem><para>In the dialog Insert Tag select <emphasis><property>id</property></emphasis> and click on this line below the value header. A blinking cursor will appear in a input text field inviting to enter a value of id
-<figure>
-<title>Define Id of Form</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_11.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-</para></listitem>
-<listitem><para>Type <emphasis><property>inputNumbers</property></emphasis> and click <emphasis><property>Finish</property></emphasis></para></listitem>
-</itemizedlist>
-<para>In source view you can see the declaration of a form.</para>
-<figure>
-<title>Created Form</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_12.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<para>First let's declare the properties file in inputnumber.jsp page using the loadBundle JSF tag.</para>
-<itemizedlist>
-<listitem><para>Put this declaration on the top of a page, right after the first two lines:</para></listitem>
-</itemizedlist>
-<programlisting role="XML"><![CDATA[<f:loadBundle basename="game.messages" var="msg"/>
+ <para>The first navigation rule states that from any page (<property>*</property> stands for
+ any page) an outcome of playagain will take you to
+ <emphasis>/pages/inputnumber.jsp</emphasis>. Outcome values are returned from backing
+ bean methods in this example. The second navigation rule states that if you are at the
+ page <emphasis>/pages/inputnumber.jsp</emphasis>, and the outcome is success, then
+ navigate to the <emphasis>/pages/success.jsp</emphasis> page. </para>
+ </section>
+ <section id="EditingTheJSPViewFiles2">
+ <?dbhtml filename="EditingTheJSPViewFiles2.html"?>
+ <title>Editing the JSP View Files</title>
+ <para>Now we will finish editing the JSP files for our two "views" using
+ Visual Page Editor.</para>
+ <section id="EditingInputjsp">
+ <?dbhtml filename="EditingInputjsp.html"?>
+ <title>Editing inputnumber.jsp page</title>
+ <para>First, let's dwell on how to edit inputnumber.jsp.</para>
+ <para>On this page we will have an output text component displaying a message, a text
+ field for user's number entering and a button for input submission.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Open inputnumber.jsp by double-clicking on the <emphasis>
+ <property>/pages/inputnumber. jsp</property>
+ </emphasis> icon</para>
+ </listitem>
+ </itemizedlist>
+ <para>The Visual Page Editor will open in a screen split between source code along the
+ top and a WYSIWIG view along the bottom. You can see that some JSF code will be
+ already generated as we choose a template when creating the page.</para>
+ <para>At the beginning it's necessary to create a <emphasis role="bold">
+ <property><h:form></property>
+ </emphasis> component where all others components are put.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Place the mouse cursor inside <emphasis role="bold">
+ <property><f:view></property>
+ </emphasis><emphasis role="bold">
+ <property></f:view></property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Go to JBoss Tools Palette and expand JSF HTML folder by selecting
+ it</para>
+ </listitem>
+ <listitem>
+ <para>Click on <emphasis role="bold">
+ <property><h:form></property>
+ </emphasis> tag <figure>
+ <title>Insert h:form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/rad_jsf_application/rad_jsf_application_10.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>In the dialog Insert Tag select <emphasis>
+ <property>id</property>
+ </emphasis> and click on this line below the value header. A blinking cursor
+ will appear in a input text field inviting to enter a value of id <figure>
+ <title>Define Id of Form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/rad_jsf_application/rad_jsf_application_11.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>inputNumbers</property>
+ </emphasis> and click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ </itemizedlist>
+ <para>In source view you can see the declaration of a form.</para>
+ <figure>
+ <title>Created Form</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_12.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>First let's declare the properties file in inputnumber.jsp page using the
+ loadBundle JSF tag.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Put this declaration on the top of a page, right after the first two
+ lines:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<f:loadBundle basename="game.messages" var="msg"/>
]]></programlisting>
-<para>As always JBDS provides code assist:</para>
-<figure>
-<title>Code Assist</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_13.png" scale="75"/>
- </imageobject>
-</mediaobject>
-</figure>
-<itemizedlist>
-<listitem><para>Switch to Visual tab, so it could be possible to work with the editor completely in its WYSIWYG mode</para></listitem>
-<listitem><para>Click on <emphasis><property>outputText</property></emphasis>, drag the cursor over to the editor, and drop it inside the blue box in the editor</para></listitem>
+ <para>As always JBDS provides code assist:</para>
+ <figure>
+ <title>Code Assist</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_13.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to Visual tab, so it could be possible to work with the editor
+ completely in its WYSIWYG mode</para>
+ </listitem>
+ <listitem>
+ <para>Click on <emphasis>
+ <property>outputText</property>
+ </emphasis>, drag the cursor over to the editor, and drop it inside the blue
+ box in the editor</para>
+ </listitem>
-<listitem><para>Select <emphasis><property>value</property></emphasis> and click on this line below "value" header</para></listitem>
-<listitem><para>Click <property>...</property> button next to the value field</para></listitem>
-</itemizedlist>
-<para>JBDS will nicely propose you to choose within available values:</para>
-<figure>
-<title>Choose Value</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_14.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<itemizedlist>
-<listitem><para>Expand <emphasis><property>Resource Bundles > msg</property></emphasis></para></listitem>
- <listitem><para>Select <emphasis><property>how_to_play</property></emphasis> value and click <emphasis><property>Ok</property></emphasis>. Then click <emphasis><property>Finish</property></emphasis>
-<figure>
-<title>Selecting Value</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_15.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-</para></listitem>
-</itemizedlist>
-<para>The text will appear on the page:</para>
-<figure>
-<title>Created OutputText Component</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_16.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<itemizedlist>
-<listitem><para>Switch to Source mode and insert <emphasis role="bold"><property><br/></property></emphasis> tag after <emphasis role="bold"><property><h:outputText></property></emphasis> component to make a new line.</para></listitem>
-<listitem><para>Click <emphasis><property>Save</property></emphasis> button.</para></listitem>
-<listitem><para>On the Palette click on <emphasis><property>inputText</property></emphasis>, drag the cursor over to the editor, and drop it inside the editor after the text.</para></listitem>
-<listitem><para>Switch to a Source mode and insert <emphasis role="bold"><property><br/></property></emphasis> tag after <emphasis role="bold"><property><h:outputText></property></emphasis> component to make a new line</para></listitem>
-<listitem><para>Click <emphasis><property>Save</property></emphasis> button</para></listitem>
-<listitem><para>On the Palette click on <emphasis><property>inputText</property></emphasis>, drag the cursor over to the editor, and drop it inside the editor after the text</para></listitem>
-<listitem><para>Select <emphasis><property>value</property></emphasis> and click on this line below "value" header</para></listitem>
-<listitem><para>Click <property>...</property> button next to the value field</para></listitem>
-<listitem><para>Expand <emphasis><property>Managed Beans > NumberBean</property></emphasis></para></listitem>
- <listitem><para>Select <emphasis><property>userNumber</property></emphasis> value and click <emphasis><property>Ok</property></emphasis></para></listitem>
-<listitem><para>Switch <emphasis><property>Advanced</property></emphasis> tab</para></listitem>
-<listitem><para>Select <emphasis><property>id</property></emphasis> and click on this line below "value" header</para></listitem>
- <listitem><para>Type <emphasis><property>userNumber</property></emphasis> in text field</para></listitem>
-<listitem><para>Select <emphasis><property>required</property></emphasis> and click on this line below "value" header</para></listitem>
-<listitem><para>Click <property>...</property> button next to the value field</para></listitem>
-<listitem><para>Expand <emphasis><property>Enumeration</property></emphasis> and select <emphasis><property>true</property></emphasis> as a value</para></listitem>
-</itemizedlist>
-<figure>
-<title>Add "required" Attribute</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_17.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-<itemizedlist>
-<listitem><para>Click <emphasis><property>Ok</property></emphasis>, then click <emphasis><property>Finish</property></emphasis></para></listitem>
-<listitem><para>Go to Source mode</para></listitem>
-<listitem><para>Add the validation attribute to <emphasis role="bold"><property><f:validateLongRange></property></emphasis> for user input validation</para></listitem></itemizedlist>
-<programlisting role="XML"><![CDATA[<h:inputText id="userNumber" value="#{NumberBean.userNumber}" required="true">
+ <listitem>
+ <para>Select <emphasis>
+ <property>value</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Click <property>...</property> button next to the value field</para>
+ </listitem>
+ </itemizedlist>
+ <para>JBDS will nicely propose you to choose within available values:</para>
+ <figure>
+ <title>Choose Value</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_14.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Expand <emphasis>
+ <property>Resource Bundles > msg</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>how_to_play</property>
+ </emphasis> value and click <emphasis>
+ <property>Ok</property>
+ </emphasis>. Then click <emphasis>
+ <property>Finish</property>
+ </emphasis>
+ <figure>
+ <title>Selecting Value</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata
+ fileref="images/rad_jsf_application/rad_jsf_application_15.png"
+ />
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>The text will appear on the page:</para>
+ <figure>
+ <title>Created OutputText Component</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_16.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to Source mode and insert <emphasis role="bold">
+ <property><br/></property>
+ </emphasis> tag after <emphasis role="bold">
+ <property><h:outputText></property>
+ </emphasis> component to make a new line.</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Save</property>
+ </emphasis> button.</para>
+ </listitem>
+ <listitem>
+ <para>On the Palette click on <emphasis>
+ <property>inputText</property>
+ </emphasis>, drag the cursor over to the editor, and drop it inside the
+ editor after the text.</para>
+ </listitem>
+ <listitem>
+ <para>Switch to a Source mode and insert <emphasis role="bold">
+ <property><br/></property>
+ </emphasis> tag after <emphasis role="bold">
+ <property><h:outputText></property>
+ </emphasis> component to make a new line</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Save</property>
+ </emphasis> button</para>
+ </listitem>
+ <listitem>
+ <para>On the Palette click on <emphasis>
+ <property>inputText</property>
+ </emphasis>, drag the cursor over to the editor, and drop it inside the
+ editor after the text</para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>value</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Click <property>...</property> button next to the value field</para>
+ </listitem>
+ <listitem>
+ <para>Expand <emphasis>
+ <property>Managed Beans > NumberBean</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>userNumber</property>
+ </emphasis> value and click <emphasis>
+ <property>Ok</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Switch <emphasis>
+ <property>Advanced</property>
+ </emphasis> tab</para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>id</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>userNumber</property>
+ </emphasis> in text field</para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>required</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Click <property>...</property> button next to the value field</para>
+ </listitem>
+ <listitem>
+ <para>Expand <emphasis>
+ <property>Enumeration</property>
+ </emphasis> and select <emphasis>
+ <property>true</property>
+ </emphasis> as a value</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Add "required" Attribute</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_17.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Ok</property>
+ </emphasis>, then click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Go to Source mode</para>
+ </listitem>
+ <listitem>
+ <para>Add the validation attribute to <emphasis role="bold">
+ <property><f:validateLongRange></property>
+ </emphasis> for user input validation</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<h:inputText id="userNumber" value="#{NumberBean.userNumber}" required="true">
<f:validateLongRange minimum="0" maximum="100"/>
</h:inputText>
]]></programlisting>
-<itemizedlist>
-<listitem><para>Click <emphasis><property>Save</property></emphasis> button</para></listitem>
- <listitem><para>Again select <emphasis><property>Visual</property></emphasis> mode</para></listitem>
-<listitem><para>On the Palette, click on <emphasis><property>commandButton</property></emphasis>, drag the cursor over to the editor, and drop it inside the editor after the inputText component.</para></listitem>
-<listitem><para>In the editing dialog select <emphasis><property>value</property></emphasis> and click on this line below "value" header</para></listitem>
-<listitem><para>Click <property>...</property> button next to the value field</para></listitem>
-<listitem><para>Expand <emphasis><property>Resource Bundles > msg</property></emphasis> and select <emphasis><property>makeguess_button</property></emphasis> as a value</para></listitem>
- <listitem><para>Click <emphasis><property>Ok</property></emphasis></para></listitem>
-<listitem><para>Select <emphasis><property>action</property></emphasis> and click on this line below "value" header</para></listitem>
- <listitem><para>Type <emphasis><property>NumberBean.checkGuess</property></emphasis> in text field</para></listitem>
-<listitem><para>Click <emphasis><property>Finish</property></emphasis></para></listitem>
-<listitem><para>In Source mode add <emphasis role="bold"><property><br/></property></emphasis> tags between <emphasis role="bold"><property><outputText></property></emphasis>, <emphasis role="bold"><property><inputText></property></emphasis> and <emphasis role="bold"><property><commandButton></property></emphasis> components to place them on different lines</para></listitem>
-</itemizedlist>
-<para>inputnumber.jsp page should look like this:</para>
-<programlisting role="XML"><![CDATA[<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+ <itemizedlist>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Save</property>
+ </emphasis> button</para>
+ </listitem>
+ <listitem>
+ <para>Again select <emphasis>
+ <property>Visual</property>
+ </emphasis> mode</para>
+ </listitem>
+ <listitem>
+ <para>On the Palette, click on <emphasis>
+ <property>commandButton</property>
+ </emphasis>, drag the cursor over to the editor, and drop it inside the
+ editor after the inputText component.</para>
+ </listitem>
+ <listitem>
+ <para>In the editing dialog select <emphasis>
+ <property>value</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Click <property>...</property> button next to the value field</para>
+ </listitem>
+ <listitem>
+ <para>Expand <emphasis>
+ <property>Resource Bundles > msg</property>
+ </emphasis> and select <emphasis>
+ <property>makeguess_button</property>
+ </emphasis> as a value</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Ok</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Select <emphasis>
+ <property>action</property>
+ </emphasis> and click on this line below "value"
+ header</para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>NumberBean.checkGuess</property>
+ </emphasis> in text field</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>In Source mode add <emphasis role="bold">
+ <property><br/></property>
+ </emphasis> tags between <emphasis role="bold">
+ <property><outputText></property>
+ </emphasis>, <emphasis role="bold">
+ <property><inputText></property>
+ </emphasis> and <emphasis role="bold">
+ <property><commandButton></property>
+ </emphasis> components to place them on different lines</para>
+ </listitem>
+ </itemizedlist>
+ <para>inputnumber.jsp page should look like this:</para>
+ <programlisting role="XML"><![CDATA[<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<f:loadBundle basename="game.messages" var="msg"/>
@@ -527,12 +908,13 @@
</f:view>
</html>
]]></programlisting>
-</section>
-<section id="EditingSuccessJsp">
-<?dbhtml filename="EditingSuccessJsp.html"?>
-<title>Editing success.jsp page</title>
-<para>In the same way like inputnumber.jsp, edit success.jsp page. Its whole source should be the next:</para>
-<programlisting role="XML"><![CDATA[<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+ </section>
+ <section id="EditingSuccessJsp">
+ <?dbhtml filename="EditingSuccessJsp.html"?>
+ <title>Editing success.jsp page</title>
+ <para>In the same way like inputnumber.jsp, edit success.jsp page. Its whole source
+ should be the next:</para>
+ <programlisting role="XML"><![CDATA[<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<f:loadBundle basename="game.messages" var="msg"/>
@@ -548,41 +930,71 @@
</f:view>
</html>
]]></programlisting>
-<para>Again you can use code assist provided by JBDS when editing jsp page:</para>
-<figure>
-<title>Code Assist for <f:param></title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_18.png" scale="75"/>
- </imageobject>
-</mediaobject>
-</figure>
-<para>This page, success.jsp, is shown if you correctly guessed the number. The <emphasis role="bold"><property><h:outputFormat></property></emphasis> tag will get the value of success_text from the properties file. The {0} in success_text will be substituted for by the value of the value attribute within the <emphasis role="bold"><property><f:param></property></emphasis> tag during runtime.</para>
-<para>At the end, you have a button which allows you to replay the game. The action value references a backing bean method. In this case, the method only terminates the current session so that when you are shown the first page, the input text box is clear and a new random number is generated.</para>
-<itemizedlist>
-<listitem><para>Switch to Preview mode to see how this page will look in a browser:</para></listitem>
-</itemizedlist>
-<figure>
-<title>Success.jsp in Preview Mode</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_19.png"/>
- </imageobject>
-</mediaobject>
-</figure>
-</section>
-</section>
- <section id="CreatingIndexjsp">
-<?dbhtml filename="CreatingIndexjsp.html"?>
-<title>Creating index.jsp page</title>
-<para>The index.jsp page is the entry point of our application. It's just forwarding to inputnumber.jsp page.</para>
-<itemizedlist>
-<listitem><para>Right click <emphasis><property>WebContent > New > JSP File</property></emphasis></para></listitem>
- <listitem><para>Type <emphasis><property>index</property></emphasis> for name field and choose <emphasis><property>JSPRedirect</property></emphasis> as a template</para></listitem>
-<listitem><para>Click <emphasis><property>Finish</property></emphasis></para></listitem>
-<listitem><para>The source for this page should be like the following:</para></listitem>
-</itemizedlist>
-<programlisting role="XML"><![CDATA[<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+ <para>Again you can use code assist provided by JBDS when editing jsp page:</para>
+ <figure>
+ <title>Code Assist for <f:param></title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_18.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <para>This page, success.jsp, is shown if you correctly guessed the number. The
+ <emphasis role="bold">
+ <property><h:outputFormat></property>
+ </emphasis> tag will get the value of success_text from the properties file. The {0}
+ in success_text will be substituted for by the value of the value attribute within
+ the <emphasis role="bold">
+ <property><f:param></property>
+ </emphasis> tag during runtime.</para>
+ <para>At the end, you have a button which allows you to replay the game. The action
+ value references a backing bean method. In this case, the method only terminates the
+ current session so that when you are shown the first page, the input text box is
+ clear and a new random number is generated.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Switch to Preview mode to see how this page will look in a browser:</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>Success.jsp in Preview Mode</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_19.png"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
+ </section>
+ <section id="CreatingIndexjsp">
+ <?dbhtml filename="CreatingIndexjsp.html"?>
+ <title>Creating index.jsp page</title>
+ <para>The index.jsp page is the entry point of our application. It's just
+ forwarding to inputnumber.jsp page.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Right click <emphasis>
+ <property>WebContent > New > JSP File</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Type <emphasis>
+ <property>index</property>
+ </emphasis> for name field and choose <emphasis>
+ <property>JSPRedirect</property>
+ </emphasis> as a template</para>
+ </listitem>
+ <listitem>
+ <para>Click <emphasis>
+ <property>Finish</property>
+ </emphasis></para>
+ </listitem>
+ <listitem>
+ <para>The source for this page should be like the following:</para>
+ </listitem>
+ </itemizedlist>
+ <programlisting role="XML"><![CDATA[<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body>
<jsp:forward page="/pages/inputnumber.jsf" />
@@ -590,50 +1002,70 @@
</html>
]]></programlisting>
-<para>Note the <emphasis>.jsf</emphasis> extension of a page. It means that we trigger the JSF controller servlet to handle the page according the servlet mapping in the faces-config.xml file.</para>
-</section>
-<section id="RunningTheApplication33">
-<?dbhtml filename="RunningTheApplication33.html"?>
-<title>Running the Application</title>
-<para>Everything is ready to run the application.</para>
-<itemizedlist>
- <listitem><para>Start up JBoss server by clicking on the <emphasis><property>Start</property></emphasis> icon in JBoss Server view. (If JBoss is already running, stop it by clicking on the red icon and then start it again. After the messages in the Console tabbed view stop scrolling, JBoss is available)</para></listitem>
- <listitem><para>Right-click on project <emphasis>Run AS > Run on Server<property></property></emphasis></para></listitem>
-<listitem><para>Play with the application by entering correct as well as incorrect values</para></listitem>
-</itemizedlist>
-<figure>
-<title>You are Asked to Enter a Number Between 0 and 100</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_20.png" scale="75"/>
- </imageobject>
-</mediaobject>
-</figure>
-<figure>
-<title>Your Input is Validated and an Error Message is Displayed if Invalid Input was Entered</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_21.png" scale="75"/>
- </imageobject>
-</mediaobject>
-</figure>
+ <para>Note the <emphasis>.jsf</emphasis> extension of a page. It means that we trigger the
+ JSF controller servlet to handle the page according the servlet mapping in the
+ faces-config.xml file.</para>
+ </section>
+ <section id="RunningTheApplication33">
+ <?dbhtml filename="RunningTheApplication33.html"?>
+ <title>Running the Application</title>
+ <para>Finally, we have all the pieces needed to run the application.</para>
+ <itemizedlist>
+ <listitem>
+ <para>Start up JBoss server by clicking on the <emphasis>
+ <property>Start</property>
+ </emphasis> icon in JBoss Server view. (If JBoss is already running, stop it by
+ clicking on the red icon and then start it again. After the messages in the
+ Console tabbed view stop scrolling, JBoss is available)</para>
+ </listitem>
+ <listitem>
+ <para>Right-click on project <emphasis>Run AS > Run on
+ Server<property/></emphasis></para>
+ </listitem>
+ <listitem>
+ <para>Play with the application by entering correct as well as incorrect
+ values</para>
+ </listitem>
+ </itemizedlist>
+ <figure>
+ <title>You are Asked to Enter a Number Between 0 and 100</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_20.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ <figure>
+ <title>Your Input is Validated and an Error Message is Displayed if Invalid Input was
+ Entered</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_21.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
-<figure>
-<title>After You Enter a Guess, the Application Tells You Whether a Smaller or a Larger Number Should be Tried</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_22.png" scale="75"/>
- </imageobject>
-</mediaobject>
-</figure>
+ <figure>
+ <title>After You Enter a Guess, the Application Tells You Whether a Smaller or a Larger
+ Number Should be Tried</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_22.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
-<figure>
-<title>Your Guess is Correct</title>
-<mediaobject>
- <imageobject>
- <imagedata fileref="images/rad_jsf_application/rad_jsf_application_23.png" scale="75"/>
- </imageobject>
-</mediaobject>
-</figure>
-</section>
+ <figure>
+ <title>Your Guess is Correct</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/rad_jsf_application/rad_jsf_application_23.png"
+ scale="75"/>
+ </imageobject>
+ </mediaobject>
+ </figure>
+ </section>
</chapter>
17 years
JBoss Tools SVN: r5357 - in trunk/seam/docs/reference/en/images: crud_application_walkthrough and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: sabrashevich
Date: 2007-12-18 06:44:45 -0500 (Tue, 18 Dec 2007)
New Revision: 5357
Modified:
trunk/seam/docs/reference/en/images/create_new_seam/create_seam10_1.png
trunk/seam/docs/reference/en/images/create_new_seam/create_seam10_2.png
trunk/seam/docs/reference/en/images/create_new_seam/create_seam11.png
trunk/seam/docs/reference/en/images/crud_application_walkthrough/crud_application_walkthrough_1.png
trunk/seam/docs/reference/en/images/crud_application_walkthrough/crud_application_walkthrough_2.png
trunk/seam/docs/reference/en/images/crud_application_walkthrough/crud_application_walkthrough_3.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_01.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_02.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_03.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_04.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_05.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_06.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_07.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_08.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_09.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_10.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_11.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_12.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_13.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_15.png
trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_18.png
trunk/seam/docs/reference/en/images/generate_entities/generate_entities1.png
trunk/seam/docs/reference/en/images/seam_view/seam_view3.png
Log:
http://jira.jboss.com/jira/browse/JBDS-226 screenshots are retaken in seam guide
Modified: trunk/seam/docs/reference/en/images/create_new_seam/create_seam10_1.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/create_new_seam/create_seam10_2.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/create_new_seam/create_seam11.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_application_walkthrough/crud_application_walkthrough_1.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_application_walkthrough/crud_application_walkthrough_2.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_application_walkthrough/crud_application_walkthrough_3.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_01.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_02.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_03.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_04.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_05.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_06.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_07.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_08.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_09.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_10.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_11.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_12.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_13.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_15.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/crud_database_application/crud_database_application_18.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/generate_entities/generate_entities1.png
===================================================================
(Binary files differ)
Modified: trunk/seam/docs/reference/en/images/seam_view/seam_view3.png
===================================================================
(Binary files differ)
17 years
JBoss Tools SVN: r5356 - trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/src/org/jboss/tools/jsf/vpe/facelets/template.
by jbosstools-commits@lists.jboss.org
Author: vyemialyanchyk
Date: 2007-12-17 15:36:15 -0500 (Mon, 17 Dec 2007)
New Revision: 5356
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/src/org/jboss/tools/jsf/vpe/facelets/template/VpeDefineContainerTemplate.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-788
http://jira.jboss.com/jira/browse/JBIDE-1457
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/src/org/jboss/tools/jsf/vpe/facelets/template/VpeDefineContainerTemplate.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/src/org/jboss/tools/jsf/vpe/facelets/template/VpeDefineContainerTemplate.java 2007-12-17 20:34:56 UTC (rev 5355)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.vpe.facelets/src/org/jboss/tools/jsf/vpe/facelets/template/VpeDefineContainerTemplate.java 2007-12-17 20:36:15 UTC (rev 5356)
@@ -99,7 +99,7 @@
Node sourceChild = sourceChildren.item(i);
if (sourceChild.getNodeType() == Node.ELEMENT_NODE && "define".equals(sourceChild.getLocalName())) {
if (template == null) {
- VpeTemplateManager templateManager = pageContext.getVisualBuilder().getTemplateManager();
+ VpeTemplateManager templateManager = VpeTemplateManager.getInstance();
template = templateManager.getTemplate(pageContext, (Element)sourceChild, null);
if (template == null) {
break;
17 years
JBoss Tools SVN: r5355 - trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/preferences.
by jbosstools-commits@lists.jboss.org
Author: vyemialyanchyk
Date: 2007-12-17 15:34:56 -0500 (Mon, 17 Dec 2007)
New Revision: 5355
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/preferences/VpePreference.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-788
http://jira.jboss.com/jira/browse/JBIDE-1457
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/preferences/VpePreference.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/preferences/VpePreference.java 2007-12-17 20:34:19 UTC (rev 5354)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/preferences/VpePreference.java 2007-12-17 20:34:56 UTC (rev 5355)
@@ -39,4 +39,11 @@
protected VpePreference(String optionPath, String attributeName) {
super(optionPath, attributeName);
}
+
+ public static boolean isAbsolutePosition() {
+ if ("yes".equals(VpePreference.USE_ABSOLUTE_POSITION.getValue())) {
+ return true;
+ }
+ return false;
+ }
}
\ No newline at end of file
17 years