From jbosstools-commits at lists.jboss.org Thu Jan 29 12:35:28 2009 Content-Type: multipart/mixed; boundary="===============6803244010365416399==" MIME-Version: 1.0 From: jbosstools-commits at lists.jboss.org To: jbosstools-commits at lists.jboss.org Subject: [jbosstools-commits] JBoss Tools SVN: r13341 - branches/jbosstools-3.0.0.CR2/jsf/docs/jsf_tools_ref_guide/en. Date: Thu, 29 Jan 2009 12:35:27 -0500 Message-ID: --===============6803244010365416399== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: ochikvina Date: 2009-01-29 12:35:27 -0500 (Thu, 29 Jan 2009) New Revision: 13341 Added: branches/jbosstools-3.0.0.CR2/jsf/docs/jsf_tools_ref_guide/en/master_out= put.xml Log: https://jira.jboss.org/jira/browse/JBDS-571- adding the master_output.xml; Added: branches/jbosstools-3.0.0.CR2/jsf/docs/jsf_tools_ref_guide/en/master= _output.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/jbosstools-3.0.0.CR2/jsf/docs/jsf_tools_ref_guide/en/master_ou= tput.xml (rev 0) +++ branches/jbosstools-3.0.0.CR2/jsf/docs/jsf_tools_ref_guide/en/master_ou= tput.xml 2009-01-29 17:35:27 UTC (rev 13341) @@ -0,0 +1,1987 @@ + + + + + + + + + + + + + + + + + + + + = + = = + + +]> + + JSF Tools Reference Guide + = + AnatolyFedosik + OlgaChikvina + SvetlanaMukhina<= email>smukhina(a)exadel.com + = + April 2008 + + 2007 + 2008 + JBoss, a division of Red Hat Inc. + + + Version: 3.0.0.CR2 + + + + + + PDF version + + + + + = + = + = + = + + + + + + JBoss Developer Studio + Eclipse + Java + JBoss + JSF Tools + + + + Introduction + + JSF Tools are especially designed for supporting JSF and JSF-rel= ated technologies. JSF + Tools provide extensible and exemplary tools for building JSF-base= d applications as well as + adding JSF capabilities to existing web projects, importing JSF pr= ojects and choosing any + JSF implementation while developing JSF application. + + In this guide we provide you with the information on JSF tooling= which allows you to + develop JSF applications much faster and with far fewer errors so = sparing your time. + +
+ Key Features of JSF Tools + + Here, we provide you with a key functionality which is integ= rated in JSF tooling. + + + Key Functionality for JSF Tools + + + + + + + + + Feature + Benefit + Chapter + + + + = + + JSF and Facelets support + Step-by-step wizards for creating new JSF a= nd Facelets projects with a number of predefined templates, importing exist= ing ones and adding JSF capabilities to non-jsf web projects. + jsf support + + + + Flexible and customizable project template = management + Jump-start development with out-of-the-box = templates or easily + customized templates for re-use. + + projects + + + + + Support for JSF Configuration File + Working on file using three modes: diagram,= tree and source. + Synchronization between the modes and full con= trol over the code. Easy + moving around the diagram using the Diagram Na= vigator. + + graphical ed= itor for jsf + + + + + Support for Managed Beans + Adding new managed beans, generating code f= or attributes, properties + and getter/setter methods. + + managed beans<= /link> + + + + + Support for Custom Converters and Validator= s + Fast creating of custom converters and vali= dators with tree view of + faces-config.xml file. + + co= nverters and validators + + + + + Verification and Validation + All occuring errors will be immediately rep= orted by verification + feature, no matter in what view you are workin= g. Constant validation and + errors checking allows to catch many of the er= rors during development + process that significantly reduces development= time. + + ver= ification and + validation + + + + + +
+
+
+ Other relevant resources on the topic + All JBoss Developer Studio/JBoss Tools documentation you can= find here. + The latest documentation builds are available here. +
+
+ + = + + + + + JBoss Developer Studio + Eclipse + JSF Tools + Java + JBoss + + + + JavaServer Faces Support + + We don't lock you into any one J= avaServer + Faces implementation. You can always se= lect the one which is + necessary for you while = creating a new JSF + project, addin= g JSF capability to + any existing Eclipse project or importing existing JSF projects as well.<= /para> + At this point the special wizard will prompt you to specify = a proper JSF environment. + It may be JSF 1.1.02 RI or JSF 1.2 which integrates a numb= er of new features and + changes. The wizard also lets you select JSF implementatio= n with a component + orientation such as JSF 1.2 with Facelets or MyFaces 1.1.4= . + +
+ Choosing JSF Environment + + + + + +
+ + After specifying a proper JSF environment all the required l= ibraries for the selected + version will be added to your project. + +
+ + Facelets Support + In this section we will focus more on all concepts t= hat are integrated for + working with Facelets. + + The Facelets extends JavaServer Faces by providing a= lightweight framework + that radically simplifies the design of presentati= on pages for JSF. Facelets can be used in a variety of ways that we + will consider further in this section. + +
+ Facelets templates + If you want to build an application using Fa= celets, just create a + project with Facelets based on version 1.2= of the JSF Reference + Implementation, i. e. select the + JSF 1.= 2 with Facelets + in the JSF Environment section= of the New JSF Project + wizard. + +
+ Choosing Facelets Environment</titl= e> + <mediaobject> + <imageobject> + <imagedata fileref=3D"imag= es/jsf_support/jsf_support_2.png"></imagedata> + </imageobject> + </mediaobject> + </figure> + + <para>Once you've selected the environment, it's p= ossible + to specify the one of three available temp= lates:</para> + <figure float=3D"0"> + <title>Choosing Facelets Template + + + + + +
+ The following table lists possible templates= with Facelets for any JSF + project and gives a proper description for= each one. + + Facelets Templates + + + + + + + + + Template + + + + Description + + + + + + + + + + + FaceletsBlankWithoutLibs + + + + + + Some servers alrea= dy provide + jsf libs and you take ri= sk + of getting conflicting + libraries while deploying + your project. To avoid s= uch + conflicts, use a template + without libs if you have= a + server with its own jsf + libraries + + + + + + + + FaceletsKickStartWithRILibs + + + + + + A sample applicati= on with + Facelets that is ready to + run + + + + + + + + FaceletsKickStartWithoutLibs + + + + + + A sample applicati= on without + libraries + + + + + +
+
+
+ Facelets components + + The JBoss Tools + Palette comes with the Fac= elets components ready to + use. A useful tip appears when you hover t= he mouse cursor over the + tag, the tip includes a detailed descripti= on of the tag component, + the syntax and available attributes. + + +
+ Facelets Components + + + + + +
+
+
+ Code assist for Facelets + + One more feature which comes with Facelets s= upport is code assist + (Ctrl + Space). It is available for Facelets + tags while editing + .xhtml= + files. + +
+ XHTML File Code Assist + + + + + +
+ + What's more, code assist is also available f= or + "jsfc"= + attribute in any HTML tag. + +
+ Code Assist for JSFC Attribute</tit= le> + <mediaobject> + <imageobject> + <imagedata fileref=3D"imag= es/jsf_support/jsf_support_6.png" scale=3D"70"></imagedata> + </imageobject> + </mediaobject> + </figure> + + <para>After selecting <emphasis role=3D"italic"> + <property moreinfo=3D"none">"jsfc"= </property> + </emphasis> you get the code assist for JS= F components available on + a page.</para> + + <figure float=3D"0"> + <title>Code Assist for JSF Components</tit= le> + <mediaobject> + <imageobject> + <imagedata fileref=3D"imag= es/jsf_support/jsf_support_7.png" scale=3D"80"></imagedata> + </imageobject> + </mediaobject> + </figure> + + <para>When a component is chosen you will see all = available attributes for + it.</para> + + <figure float=3D"0"> + <title>Available Attributes for the Compon= ent + + + + + +
+
+
+ Open On feature + Finally, Eclipse's + OpenOn= + feature for editing Facelets f= iles is supported. Using this feature, + you can easily navigate between the Facelets + templates and other parts of yo= ur projects. Just by + holding down the Control key while hoverin= g the mouse cursor over a + reference to a template, the reference bec= omes a hyperlink to open + that template. + + +
+ Template Hyperlink + + + + + +
+ + + +
+ + +
+ + + + + + + + + + + +
+ + = + + + + + JBoss Developer Studio + Eclipse + JSF Tools + Java + JBoss + + + = + Projects + To take an advantage of JSF firstly you shou= ld perform one of the next + steps: + + + + Create new JSF projects + + + Import (open) existing JSF p= rojects + + + Add JSF capability to any ex= isting Eclipse + project + + + Import and add JSF capabilit= y to any existing project + created outside Eclipse. + + + In this section we're going to stop on each = of them in + detail. + = +
+ + Creating a New JSF Project + + If you want your project to already = contain all JSF + libraries, tag libraries and JSF c= onfiguration file, just + organize a new brand JSF project. = It is possible to do this easily with the + help of the special wizard. To get= it, select + File > New > Project + > JBoos Tools Web >= ; JSF + > JSF Project + and click + Next. + +
+ Choosing a JSF Project</tit= le> + <mediaobject> + <imageobject> + <imagedata fileref=3D"im= ages/jsf_support/jsf_support_10.png"></imagedata> + </imageobject> + </mediaobject> + </figure> + + <para>On the next form you'll be prompted = to enter + <property moreinfo=3D"none= ">Project Name</property> and select a + location for the project or just l= eave a default path.</para> + <para>Here, JSF Version also allows you to= select which JSF + implementation to use.</para> + <figure float=3D"0"> + <title>Creating a New JSF Project<= /title> + <mediaobject> + <imageobject> + <imagedata fileref=3D"im= ages/jsf_support/jsf_support_11.png"></imagedata> + </imageobject> + </mediaobject> + </figure> + + <para>There is a number of predefined proj= ect templates that are flexible and + easily customizable. Thus you can = pick a different template + on which the projects Importing Ex= isting should be based on. Almost all + templates come in two variations: = with jsf libraries and + without ones.</para> + <figure float=3D"0"> + <title>Choosing JSF Templates</tit= le> + <mediaobject> + <imageobject> + <imagedata fileref=3D"im= ages/jsf_support/jsf_support_12.png "></imagedata> + </imageobject> + </mediaobject> + </figure> + + <para>The table below provides description= for each possible JSF + template.</para> + <table> + <title>JSF Project Templates</titl= e> + <tgroup cols=3D"2"> + <colspec align=3D"left" co= lnum=3D"1" colwidth=3D"1*"></colspec> + <colspec colnum=3D"2" colw= idth=3D"3*"></colspec> + + + <thead> + <row> + <entry align=3D"center"> + <para>Template</para> + </entry> + + <entry align=3D"center"> + <para>Description</para> + </entry> + </row> + </thead> + + <tbody> + + <row> + <entry> + <para> + <emphasis> + <property moreinfo=3D"no= ne">JSFBlankWithLibs</property> + </emphasis> + </para> + </entry> + + <entry> + <para>This template will + create a standard + Web project + structure with all + JSF + capabilities</para> + </entry> + </row> + + <row> + <entry> + <para> + <emphasis> + <property moreinfo=3D"no= ne">JSFKickStartWithLibs</property> + </emphasis> + </para> + </entry> + + <entry> + <para>This template will + create a standard + Web project + structure but will + also include a + sample application + that is ready to + run</para> + </entry> + </row> + + <row> + <entry> + <para> + <emphasis> + <property moreinfo=3D"no= ne">JSFKickStartWithoutLibs</property> + </emphasis> + </para> + </entry> + + <entry> + <para>Some servers alrea= dy + provide jsf libs and + you take risk of + getting conflicting + libraries while + deploying your + project. To avoid + such conflicts, use + a template without + libs if you have a + server with its own + jsf libraries</para> + </entry> + </row> + + </tbody> + </tgroup> + </table> + + + <!-- <para>You can of cou= rse create your own custom templates. More information + on templates creation could be found in <l= ink + linkend=3D"CreatingCustomJSPTempla= tes">Chapter 5</link>.</para> + --> + + <para>On the next screen select what <emph= asis> + <property moreinfo=3D"none= ">Servlet version</property> + </emphasis> to use and whether to = register this application + with JBoss AS (or other server) fo= r running and testing your application.</para> + + <para>The <emphasis> + <property moreinfo=3D"none= ">Context Path</property> + </emphasis> is the name under whic= h the application will be + deployed.</para> + + <para>The <emphasis> + <property moreinfo=3D"none= ">Runtime</property> + </emphasis> value tells Eclipse wh= ere to find Web libraries + in order to build (compile) the pr= oject. It is not possible + to finish project creation without= selecting Runtime. If you + don't have any values, select <emp= hasis> + <property moreinfo=3D"none= ">New...</property> + </emphasis> to add new Runtime.</p= ara> + + <para>The <emphasis> + <property moreinfo=3D"none= ">Target Server</property> + </emphasis> allows you specifying = whether to deploy the + application. The Target Server cor= responds to the Runtime + value selected above. If you don't= want to deploy + the application, uncheck this valu= e.</para> + <figure float=3D"0"> + <title>Registering the Project on = Server + + + + + +
+ + When you are all done, you should ha= ve the project that has + been appeared in the Package Explo= rer view: +
+ A New Project in the Packag= e Explorer + + + + + +
+ + At this point you can open + faces-config.xml + and start working on y= our application. + There are a lot of features + to develop JSF applications. We wi= ll describe the features + further. +
+ +
+ + Importing Existing JSF Projects wit= h Any Structure + + For detailed information on migratio= n of JSF projects into a workspace see Migration Guide. + +
+
+ + Adding JSF Capability to Any Existi= ng Eclipse Project + + It's also possible to add JSF capability + (JSF libraries, tag libraries) to = any existing Eclipse + project in your workspace. After t= hat you'll be + able to make use of such editors a= s JSF configuration editor, JBoss + Tools JSP editor and any others. + Right click the project and select <= emphasis> + JBoss Tools > Add JSF + Capabilities. <= /emphasis> This will start + the process of adding all necessar= y libraries, files to make + this a Web JSF project. +
+ Adding JSF Capabilities</ti= tle> + <mediaobject> + <imageobject> + <imagedata fileref=3D"im= ages/jsf_support/jsf_support_16.png"></imagedata> + </imageobject> + </mediaobject> + </figure> + <para>The wizard will first ask you to sho= w the <emphasis> + <property moreinfo=3D"none= ">web.xml</property> + </emphasis> file location and the = project name.</para> + <figure float=3D"0"> + <title>Project Location + + + + + +
+ On the last form you can set the dif= ferent folders for your + project as well as register this a= pplication with a servlet + container. + + Make sure to select + Add Libraries + to add all required JS= F related libraries to this project. + + The + Context Path + is the name under whic= h the application will be + deployed. + + The + Runtime + value tells Eclipse wh= ere to find Web libraries + in order to build (compile) the pr= oject. It is not possible + to finish project import without s= electing Runtime. If you + don't have any values, select + New... + to add new Runtime. + + The + Target Server + allows you to specify = whether to deploy the + application. The Target Server cor= responds to the Runtime + value selected above. If you don't= want to deploy + the application, uncheck this valu= e. +
+ Project Folders + + + + + +
+ Once your project is imported you ca= n see that JSF related + libraries have been added to your = project: + jsf-api.jar + and + jsf-impl.jar + . + + Note: + Some application servers pro= vide their own jsf + implementation libraries. = Thus, to avoid conflicts you + should not add jsf librari= es while adding jsf + capabilities. + + You are now ready to work with JSF b= y creating a new JSF + configuration file: + + +
+ Creating a New JSF Configur= ation File + + + + + +
+ + Once the file has been created, it s= hould be opened in a + special Faces Config Editor. +
+
+ + Adding Your Own Project Templates</= title> + <para>Template is a set of files that is s= erved as a basis to facilitate + the creation of a new project. Pro= ject templates provide + content and structure for a projec= t.</para> + <para>There is a powerful + templating capability for creating= new and importing + existing Struts and JSF projects. = This templating facility + has a variety of aspects to consid= er. But, let's + start with the most straightforwar= d case and consider the + process of creating a template fro= m your existing JSF + project.</para> + + <para>Let's say you have a project that yo= u want to use as + the basis for a new <property more= info=3D"none">template</property>. Follow + these steps to make a template out= of it:</para> + <itemizedlist> + <listitem> + <para>In the Web Projects = view, right-click the + project and select <emph= asis> + <property moreinfo=3D"no= ne">JBoss Tools JSF > Save As + Template</property> + </emphasis></para> + </listitem> + </itemizedlist> + <figure float=3D"0"> + <title>Saving Your Project as Temp= late + + + + + + + + + In the first dialog = box, you can choose a name + for the template (defaul= ts to the project + name) and confirm what r= un-time + implementation of the pr= oject + technology will be used<= /para> + + + +
+ Define Template Properties<= /title> + <mediaobject> + <imageobject> + <imagedata fileref=3D"im= ages/jsf_support/jsf_support_20_1.png"></imagedata> + </imageobject> + </mediaobject> + </figure> + + + <itemizedlist> + <listitem> + <para>Select <emphasis> + <property moreinfo=3D"no= ne">Next</property> + </emphasis> and you will= be sent to a dialog + box with your project st= ructure displayed + with check boxes. Here y= ou can check only + those parts and files in= your project + directory that should be= part of the + template</para> + </listitem> + </itemizedlist> + <figure float=3D"0"> + <title>Define Template Properties<= /title> + <mediaobject> + <imageobject> + <imagedata fileref=3D"im= ages/jsf_support/jsf_support_20_2.png"></imagedata> + </imageobject> + </mediaobject> + </figure> + <itemizedlist> + <listitem> + <para>At this point, unles= s you want to designate + some extra files as havi= ng Velocity template + coding inside them, you = should click <emphasis> + <property moreinfo=3D"no= ne">Finish</property> + </emphasis>.</para> + </listitem> + </itemizedlist> + <para>That's it. Now, you can use this tem= plate with any + new or imported project that uses = the same run-time + implementation as the project you = turned into a + template.</para> + <para>At this point, you have a fully conf= igured project and now you can + bring some new logic to it startin= g from JSF configuration + file.</para> + </section> +</chapter> + = +<chapter id=3D"jsf_config_file" role=3D"updated" xml:base=3D"file:///home/= ochikvina/WORK/for_compare/trunk/jsf/docs/jsf_tools_ref_guide/en/modules/js= f_config_file.xml"> + <?dbhtml filename=3D"jsf_config_file.html"?> + <chapterinfo> + <keywordset> + <keyword>JBoss Developer Studio</keyword> + <keyword>Eclipse</keyword> + <keyword>JSF Tools</keyword> + <keyword>Java</keyword> + <keyword>JBoss</keyword> + </keywordset> + </chapterinfo> + + <title>JSF Configuration File Editor + + First, we should mention that JSF configuration file ( + faces-config.xml + ) is intended for registering JSF application resources= such as Converters, + Validators, Managed Beans and page-to-page navigation rules. + Now, let's look at how you can easily configure this file by mea= ns of a special + graphical editor for JSF configuration file. The editor has three = main views: + + + + Diagram + + + Tree + + + Source + + + + They can be selected via the tabs at the bottom of the editor. + +
+ + Diagram view + + Here, we will show you how to work with JSF configuration fi= le through the Diagram + view of the editor. + As you can see on the figure below, the Diagram view display= s the navigation rules in + the faces-config.xml: +
+ Diagram View + + + + + +
+ + If your diagram is large, make use of the Outline view. With= in it you can switch to a + Diagram Navigator + mode by selecting the middle icon at the top of th= e view window. It allows + you to easily move around the diagram. Just move the blue area= in any direction, and the + diagram on the left will also move: +
+ Outline View for Diagram + + + + + +
+ + To create a new page here, you should click the page icon (V= iew Template) on the + toolbar from the left and then click anywhere on the diagram. = A New Page Wizard will + appear. + + To create a transition for connecting pages: + + + + Select the transition icon from the toolbar (New Con= nection). + + + Click the source page. + + + Click the target page. + + + + A transition will appear between the two pages: +
+ Transition between JSP Pages + + + + + +
+ + It is also possible to create a new page with context menu b= y right-clicking anywhere + on the diagram and selecting + New View. +
+ Creating a New View + + + + + +
+ + To edit an existing transition, first select the transition = line. Then, place the + mouse cursor over the last black dot (on the target page). The= mouse cursor will change + to a big +. At this point, drag the line to a new target page:= +
+ Editing Transition between Views + + + + + +
+
+
+ + Tree View + + You can find it more= convenient to edit your JSF Configuration file in the Tree view of + the VPE. + + The view displays all JSF application artifacts referenced in the confi= guration file + in a tree format. By selecting any node on the left, you can s= ee and edit its properties + which will appear in the right-hand area. Let's look at the st= ructure of this + tree more closely. + + + + Under the + Application + no= de you can adjust JSF application specific settings such as + internationalization, possibility to set extensions, a= dd property and variable + resolvers, etc. + + + +
+ <diffmk:wrapper diffmk:change=3D"changed">JSF Applicati= on Specific Settings</diffmk:wrapper> + + + + + +
+ + + + The + Components + no= de is for registering custom JSF components. Right-click and + choose + New > Component + or= just press the + Add + bu= tton in the right-hand area to add a new component to the JSF + Configuration file. + + + +
+ <diffmk:wrapper diffmk:change=3D"changed">Registering a= New JSF Component</diffmk:wrapper> + + + + + +
+ + In the Add Component wizard you shou= ld set a component + type and point to a component class by using the + Browse + bu= tton or create a new class for this component by using the + Component-Class<= /property> + li= nk. + +
+ <diffmk:wrapper diffmk:change= =3D"added">Adding a New JSF Component to the JSF Configuration File</diffmk= :wrapper> + + + + + +
+ + + + Use the + Render Kit + no= de to create and register a set of related renderers for custom + JSF components. + + + +
+ <diffmk:wrapper diffmk:change= =3D"added">Adding a New JSF Component to the JSF Configuration File</diffmk= :wrapper> + + + + + +
+ + + + Under the + Converters + no= de you can create a converter class for your JSF application + either with id or for a proper class. How to do that s= ee the Creat= e and Register a + Custom Converter section. + + + +
+ <diffmk:wrapper diffmk:change=3D"changed">Creating a Ne= w Custom Converter</diffmk:wrapper> + + + + + +
+ + + + The + Managed Bean + no= de is meant for creating and registering Bean classes in your JSF + application. Read more on the topic in the Managed + Beans chapter. + + + +
+ <diffmk:wrapper diffmk:change= =3D"added">Managed Beans</diffmk:wrapper> + + + + + +
+ + + + Use the + Navigation Rules= + no= de to configure a navigation between the pages in your + application: create a new navigation rule and adjust n= ecessary properties for it + in the right-hand area. + + + + <diffmk:wrapper diffmk:change= =3D"added">Tip:</diffmk:wrapper> + The same you can do in the Diag= ram view of= the + JSF Configuration file editor. + + +
+ <diffmk:wrapper diffmk:change= =3D"added">Configuring Navigation Rules</diffmk:wrapper> + + + + + +
+ + + + Under the + Referenced Beans= + no= de you can add a new Referenced Bean and configure various + properties for it. To learn more on this refer to the = Create and Register Referenced Bea= ns + section. + + + +
+ <diffmk:wrapper diffmk:change= =3D"added">Referenced Beans</diffmk:wrapper> + + + + + +
+ + + + The + Validators + no= de is needed to create validator classes for organizing the + validation of your application data. You can read more= on the topic in the Create and Register a Custom + Validator section. + + + +
+ <diffmk:wrapper diffmk:change= =3D"added">Validators</diffmk:wrapper> + + + + + +
+ + + + The + Extensions + no= de is for setting extensions for your + faces-config.xml= . + + + +
+ <diffmk:wrapper diffmk:change= =3D"added">Adding Extensions</diffmk:wrapper> + + + + + +
+ + In the Tree view you can also edit the prope= rties of the selected + element with the help of the Properties view as shown below: + +
+ Properties View + + + + + +
+ +
+
+ + Source View + + Here, we'll discuss how you can configure your faces-config.= xml with the help + of Source View. + The Source view for the editor displays a text content of th= e JSF configuration file. + It is always synchronized with other two views, so any changes= made in one of the views + will immediately appear in the other: +
+ Source View + + + + + +
+ + + You can also work in the Source view with the help of the + Outline view. The Outline view shows a tree + structure of the JSF configuration file. Simply select any ele= ment in the Outline view, + and it will jump to the same place in the Source editor, so yo= u can navigate through the + source code with Outline view. +
+ Outline View + + + + + +
+ +
+ +
+ Editor Features + Here we'll discuss a very important features that JSF config= uration file + editor provides for work with JSF resources. + +
+ Open On + The JSF configuration file editor comes with a very usef= ul OpenOn navigating + feature. More fully you can read about it in our = Visual Web Tools + Guide. +
+ +
+ + Code Assist + Code Assist provides pop-up tip to help you complete you= r code statements. It + allows you to write your code faster and with more accurac= y. + Code assist is always available in the Source mode: +
+ Code Assist in Source View + + + + + +
+ +
+ +
+ + Error Reporting + When you are developing your project, error checking is = constantly provided. This + greatly reduces your development time as it allows you to = catch many of the errors + during development. + Errors will be reported by + verification facility: +
+ Error Reporting in Source View + + + + + +
+ + Other errors are also reported. +
+ Other Errors Reporting + + + + + +
+ +
+
+ + + + = + + + + + JBoss Developer Studio + Eclipse + JSF Tools + Java + JBoss + + + + Managed Beans + + There is lots of power to work with = managed beans. + + + Add and generate code for new managed beans + + + Generate code for attributes and getter/setter m= ethods + + + + + Add existing managed beans to JSF configuration file + + + + Thus, in this section we will guides you through all this possib= ilities. + +
+ + Code Generation for Managed Beans + + To start, create a new managed bean in JSF configuration fil= e editor, in the Tree + view. +
+ Creation of New Managed Bean + + + + + +
+ + Note: + When you define a new managed bean, make sure that + Generate Source Code + is checked as shown in the figure below. + +
+ New Managed Bean + + + + + +
+ After the + "Java" + class has been generated you can open it for addit= ional editing. There are + two ways to open the + "Java" + class: + + + + click on + Managed-Bean-Class + link in the editor + + + or + + + right click the + managed bean + and select + Open Source + + + + +
+ Opening of Created Managed Bean + + + + + +
+ + The generated Java source should look as follows: + +
+ Java Source Code + + + + + +
+ + You can also generate source code for properties, also inclu= des + "getter" + and + "setter" + methods. Right click on the bean and select + New > Property + . You will see Add Prop= erty dialog. +
+ Generation of Source Code for Properties + + + + + +
+ When the form is open make sure that all the check boxes are= selected: + + + Add Java property + + + Generate Getter + + + Generate Setter + + + +
+ "Add Property" Form + + + + + +
+ Once the generation is complete, you can open the file and s= ee the added property with + + "get" + and + "set" + methods: +
+ Generated Java Source Code for Property + + + + + +
+ Thus, we've discussed everything which comes to creating a n= ew Managed Bean. + The next section will show you how to add an existing Bean int= o a JSF configuration + file. +
+
+ + Add Existing Java Beans to a JSF Configuration File + If you already have a Java bean you can easily add it to a <= property moreinfo=3D"none">JSF configuration + file. + You should start the same way you create a new managed bean.= Use the + Browse... + button to add your existing Java class. +
+ New Managed Bean Form + + + + + +
+ Once the class is set, its + Name + will be set as well. But you can easily substitute= it for the other one. + Notice that + Generate Source Code + option is not available as the + "Java" + class already exists. + After adding your class + Next + button will be activated. Pressing it you'll get <= emphasis> + Managed Properties + dialog where all corresponding properties are disp= layed. Check the necessary + ones to add them into your JSF Con= figuration File. + +
+ Selection of Bean's Properties. + + + + + +
+ + If you don't want to add any, just click + Finish. = + Above-listed steps have demonstrated how you can specify an = existing Bean in the JSF + configuration file, i.e. + faces-config.xml. <= /emphasis> In the next chapter + you'll know how to organize and register another kind of artif= acts. +
+
+ + = + + + + + JBoss Developer Studio + Eclipse + JSF Tools + Java + JBoss + + + Creation and Registration + = +
+ = + Create and Register a Custom Converter + = + It's also possible to create a + custom Converter in order to specify your own converting rules= . Let's look at how you can do this. + = + To create and register a custom converter it's necessary= to + go through the following steps: + = + + + In the Project Explorer view open + faces-config.xml + and select + Tree + tab. + + +
+ Converters + + + + + +
+ + + Select + Converters + and click on + Add + button. + + + On the form type the name of your converter in the <= emphasis> + Converter-id + field and name of the class for + converters. After clicking + Finish + button your custom converter is + registered under the entered name. + + +
+ Add Converter Form + + + + + +
+ + + Now you can create + "converter" + class. In the Converter section you + should see your + Converter-id + and + Converter-class<= /property>. + Click on + Converter-class + to generate the source code. + + +
+ Generation of Source Code for Converter Class + + + + + +
+ = + + + A usual wizard for creating a Java class will appear. + All needed fields here will be adjusted + automatically. Just leave everything without changes + and click + Finish. + + + +
+ New Java Class Form + + + + + +
+ + + To open a converter class click again on + Converter-class + link in the Converter section. + + +
+ Converter Class + + + + + +
+ Now you + are able to add a business logic of converter in the + Java editor. +
+ = +
+ = + Create and Register a Custom Validator + = + It's also quite easy to develop your + own custom Validators. You should perform the actions similar = to the = + previous one. Go through the following steps: + + + In the Project Explorer view open + faces-config.xml + and select + Tree + tab. + + +
+ Validator in Faces Config Editor + + + + + +
+ + + Select + Validators + and click on + Add + button. + + + Type the name of your validator in the + Validator-id + field and name of the class for + validators. After clicking + Finish + button your custom validator is + registered under the entered name. + + +
+ Adding Validator + + + + + +
+ = + Now you can create the "validator" class. + + + In the Validator section you can see your + Validator-id + and + Validator-class= . To generate the source code click on + Validator-class. + + + +
+ Creating Validator Class + + + + + +
+ + + Java class will be created automatically. Leave + everything without changes and click + Finish. + + + +
+ New Java Class Form + + + + + +
+ + + To open validator class click again on + Validator-Class + link in the Validator section. Now you + are able to write a business logic of validator in + the Java editor. + + +
+ Converter Class Editing + + + + + +
+
+ = +
+ Create and Register Referenced Beans = + = + Creation of Referenced Beans is similar to creation of Custom + Validator as well. To perform this, let's walk through the nec= essary steps. + = + + + In the Project Explorer view open + faces-config.xml + and select + Tree + tab. + + +
+ Referenced Beans in Faces Config Editor + + + + + +
+ + + Select + Referenced Beans + and click on + Add + button. + + + Type in the name of your Referenced Bean and type in + or select + Referenced-Bean-Class<= /property> + by using + Browse + button. + + +
+ Add Referenced Bean + + + + + +
+ + + In the Referenced Bean section you should see your <= emphasis> + Referenced-Bean-Name + and + Referenced-Bean-= Class. + Click on the link to open the Java creation + wizard. + + +
+ Create Referenced Bean Class + + + + + +
+ + + Java class will be created automatically. Leave + everything without changes and click + Finish. + + + +
+ New Java Class Form + + + + + +
+ + + To open Referenced Bean class click again on + Referenced-Bean-Class + in the Referenced Bean section. Now you + are able to write business logic of Referenced Bean + in the Java editor. + + +
+ Referenced Bean Class Editing + + + + + +
+
+
+ = + + + + + + JBoss Developer Studio + Eclipse + JSF Tools + Java + JBoss + + + + JSF Project Verification + + In this chapter we'll discuss a possible verification that you c= an take advantage + of. + + Many different rules are checked for a JSF project that can be c= onfigured by selecting + Window > Preferences + from the menu bar, selecting + JBoss Tools > Web > Verifica= tion + from the Preferences dialog box and then expanding the= JSF Rules node. +
+ JSF Rules + + + + + +
+ Suppose you are working in the Source viewer for a JSF configura= tion file as shown below: +
+ Faces-config.xml File + + + + + +
+ While typing a class name, you might make a minor typo (like + "jsfHello.PersonBean9" + instead of + "jsfHello.PersonBean" + ). After saving the file, verification checks to make s= ure everything is correct + and finds the error below: +
+ Error in Source View + + + + + +
+ Notice that the Package Explorer View shows a marked folder and = a marked file where the + error is. + You can place the cursor over the line with an error message and= get a detailed error + message: +
+ Error Message + + + + + +
+ Verification also checks navigation rules: +
+ Checking Navigation Rules + + + + + +
+ If you provide a page name that does not exist, verification wil= l let you know about that: +
+ Page Name Verification + + + + + +
+ You can always call up verification explicitly by right-clicking= any element in the tree + and selecting Verify from the context menu. This works from both t= he Tree and Diagram + viewers for the JSF configuration file editor. You can also invoke= verification from the Web + Projects view. Below we are checking all of the elements in the co= nfiguration file. +
+ Verify Command + + + + + +
+ + In summary, this document highlights all the JSF-specific featur= es of JBoss Tools + meant for enhancing the development of rich Web applications based= on JSF technology. The + reference introduces you to wizards for creating and importing JSF= projects, JSF + Configuration File editor features, functionality for enabling JSF= capabilities and etc. + = + If you have questions or good suggestions, please refer to JBoss + Tools Forum. +
+ + --===============6803244010365416399==--