Rendering JSF Component to Different Kinds of Clients
Hi,
Sub:
How can I render my custom component to different types of clients like web, swing, PDA and so on.
Exlanation:
Suppose I have created a JSF custom component for web which includes(Tag,Component and Renderer).
If i want to use the same component for different clients like swing or PDA, how can it is possible...
Any info related to this????
At least I should use Tag and Component for another types of clients also.
I'm not getting any info related to this....
If any body throw any kind of help is highly appreciable.
Thanks && regards,
Ram
We had a demo of this for JavaOne. Also, I think some of the current books out there cover this topic. I'll see if I can get the demo source code published to java.net.
Ed (JSR-252 co-spec-lead)
Similar Messages
-
Access client DOM id of current JSF component via an EL statement
Is it possible to access the client-side DOM id of a JSF component from within an EL statement?
For example:
<a4j:commandLink id="marketNameLink" action="#{testAction.myFunction( 'some how get client DOM id' )} />
I could use rich:clientId('marketNameLink'), except I think that this is a bit wasteful in processing time to search the complete DOM tree to access the id of the current component.
Any ideas?
PhilipEL are evaluted at server side and DOM id are generated for the client side
I advice you to read this article :
[http://balusc.blogspot.com/2009/05/javajspjsf-and-javascript.html|http://balusc.blogspot.com/2009/05/javajspjsf-and-javascript.html]
and also this on :
[http://weblogs.java.net/blog/2009/07/22/say-sayonara-spal|http://weblogs.java.net/blog/2009/07/22/say-sayonara-spal] -
JSF Rendering messages component
Hi All,
I am having a t:messages tag on my jsf page which displayes all the error messages
I want to make it fixed size possible by placing it in a textarea, Can i do this ?
There is an attribute layout to t:messages tag which supports table and list but is there a way to render these ?
when i set the style attribute or use the styleClass attribute it is applied only to the span tag ( which is generated by t:messages tag ) but not to either table or list, Can anyone suggest a way to do this
Do get back to me if i am not clear
Thanks in advanceWhile this is in no way complete, you can check out my check list for Iin my opinion) a good overview of what it takes to write a JSF component:
http://blogs.steeplesoft.com/2006/12/14/jsf-component-writing-check-list/
The Burns/Schalk book, JavaServer Faces: The Complete Reference (http://tinyurl.com/2ndoye) is also an excellent resource. If you can be patient, you might also keep on eye on java.net, as Ken Pauslen (of JSFTemplating and GlassFish fame) and I will have an article coming out on this very topic. -
JSF component inside HTML table -- not rendering properly
I have a HTML table like the one below. In one of those columns (td) I have a JSF component. When I run the app, the JSF component (even if its a simple inputText or panelGrid or panelGroup) is not getting inside the td. Instead, it forms a seperate table after this td.
Code I have:
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td>... ..MULTIPLE Td's here - Deleted for simplicity </td>
<td class="topNav">
Blog Directory
</td>
<td>
<img src="./images/top_button_right.gif"/>
</td>
<td class="topNav">
<f:panelGroup>
<h:inputText value="Username"/>
<h:inputSecret value="Password"/>
</f:panelGroup>
</td>
</tr>
</tbody>
</table>
What I expected:
username, passwd field inside the top level HTML table.
What comes: (as a result of running thsi JSF page )
<table> -- Original table
<td> </td> -- -TD that had the inputText - comes empty here
</table>
<table>
<tbody>
<tr>
<td><input type="text" name="_id1:header:EasyHeader:_id4" value="Username" /><input type="password" name="_id1:header:EasyHeader:_id5" value="" /></td>
</tr>
<tr>
<td><table>
I am a newbie to JSF & due to the complexity of the layout & page, I m unable to get rid of the HTML tags totally.
Thanks in advance.
GaneshFound the solution to the problem.
wrapped the entire HTML page till the JSF component ( panelGrid) under <f:verbatim>.
something like this
<f:verbatim>
<table>
<tr> <td>...</td>
<td>
</f:verbatim>
<h:panelGrid> ... </h:panelGrid>
<f:verbatim>
</td>
</table>
</f:verbatim> -
Rendering of component tree might not be thread-safe
I'm using JSF implementation 1.1_01 and noticed following problem. Rendering simultaniously the same JSF - page in two different browser session (browsers even running on different workstations) results in corrupted html pages.
If you are "lucky" you find the complete normal html code in one browser and the rendered jsf tags twice on the other screen. Sometimes the mixture is minor, sometimes both clients get their pages complete.
I'm using the server state setting.
Anyone noticed a simular behaviour?Yes, I used tiles.
first try was like this pattern:
<f:view>
<f:subview id="head">
<t:insert attribute="head"/>
</f:subview>
<f:subview id="body">
<t:insert attribute="body"/>
</f:subview>
</f:view>
The result was a correct rendered head-tile and a strange rendered body-tile, where jsf-tags are rendered first and the html tags second.
So I head to insert <f:verbatim> tags around all html-tags to get it rendered correctly. Looked very ugly. After doing that, I noticed that I didn't receive any events when I click on any button in a subview.
After serveral attempts I came to the following, wrong example:
<f:view>
<f:subview id="head">
<t:insert attribute="head"/>
</f:subview>
<f:view>
<t:insert attribute="body"/>
</f:view>
</f:view>
This really should not work. It is wrong. But it did and all tiles were rendered correctly even without verbatim. But... It only worked for a single user system. Doing perfomance tests with serveral simultated users, I noticed that the JSF-Tags output was mixed up in differnt sessions. Can't blame anyone for that. the usage was incorrect, but it might be interesting to do performance tests for subviews to see if there are problems with multiple simultanious requests too.
My decision: I take an old fashioned approache with static jsp includes. It might be ugly, but it works as expected. -
How to load a class dynamically (via reflection) in a jsf-component
Hi all,
I am writing my own jsf component and I would like to do it generically. Therefore I have an attribute, where the developer can pass a fully qualified classname, which I want to use to instantiate. But I have a Problem with the classloaders, everytime I get a ClassNotFound-Exception during debugging.
Does anybody know how it is possible, to to get the most parent classloader?
Currently I am even not able to load a class, which is in the same package like all other compontent-classes.
Thank you very much in advance
ThomasWithin web applications, I believe it is recommended to use Thread.getContextClassLoader(). Keep in mind that web applications require different classloader semantics than regular Java applications. The class loader which gets resources from the WAR is favored over others, even when this violates the normal class loading conventions.
-
How to add properties to a custom JSF component?
Hello, everybody!
I've just developed my first custom JSF component. It's a data pager and it is working pretty well. But now I want to be able to use some of it attributes in my backing beans at runtime. I mean, I want to bind it to component in the JSF page. It already has a binding attribute in the tld file, but I want to be able to accesss two values that the renderer of my custom component calculate inside it, which would relieve me from calculating these values manually in the backing beans. So, I would like to know how to make these values external to the component.
By now this is my custom pager class:
import javax.faces.component.UICommand;
public class UIPaginadorDados extends UICommand
}You can see that it has no logic because all the logic is in the renderer class:
import javax.faces.render.Renderer;
public class PaginadorDadosRenderer extends Renderer
// logic here
}As I said I want to be able to do the following in my backing beans:
private UIPaginadorDados pager = new UIPaginadorDados();
// and later...
pager.getCurrentPage();
pager.getPageCount();In the JSF page:
// I already can do this, because I have a binding attribute
<urca:paginadorDados binding="#{backingBean.pager}" />I suppose that I'll have to create the properties getCurrentPage() and getPageCount() in the component class, UIPaginadorDados, but I don't know how to get the values to the properties from the renderer class. I don't even know if this is how I should do it.
So I would appreciate a lot your help about this subject.
Thank you.
MarcosMarcos_AntonioPS wrote:
RaymondDeCampo wrote:
I neglected to mention: do not forget to implement the methods in StateHolder to preserve the properties you added to your component.Hello, Raymond. Could you elaborate a little more on that? If you could give a short example, it would be helpful.
MarcosNo problem. I have already found out how.
Thank you very much, Raymond.
Marcos -
How to make Javascript access standard JSF component
Hello all,
I'm in need of a proper javascript code that access standard jsf component.
Like we do for html tags;
if( el.tagName.toLowerCase() != 'select')
I need to do the same thing for a jsf tag i.e; <h:selectOneMenu>. How to make javascript access <h:selectOneMenu> like it does with <select> tag ? Please let me know asap. Extremely sorry if the question is kind of stupid....cause I'm a beginner for JSF environment.
Any sort of help, suggestion or advice would highly be appreciated.
Thanks in advance.Ummmm, I may be off the beaten path, but by the time your javascript is called the h:selectOneMenu would be a select tag within the dom. You should be able to reference that tag as you normally would.
-
Reg different kinds of select stmts
Hi All,
Hope all are doing gud,
cud any tell me different kinds of select stmts ????
regards,
abc xyzhi,
SELECT
Basic form
SELECT result [target] FROM source [where] [GROUP BY fields] [ORDER BY order].
Effect
Retrieves an extract and/or a set of data from a database table or view (see Relational database ). SELECT belongs to the OPEN SQL command set.
Each SELECT command consists of a series of clauses specifying different tasks:
The SELECT result clause specifies
whether the result of the selection is a table or a single record,
which columns the result is meant to have and
whether the result is allowed to include identical lines.
The INTO target clause specifies the target area into which the selected data is to be read. If the target area is an internal table, the INTO clause specifies
whether the selected data is to overwrite the contents of the internal table or
whether the selected data is to be appended to the contents and
whether the selected data is to be placed in the internal table all at once or in several packets.
The INTO clause can also follow the FROM clause.
You can omit the INTO clause. The system then makes the data available in the table work area (see TABLES ) dbtab . If the SELECT clause includes a "*", the command is processed like the identical SELECT * INTO dbtab FROM dbtab statement. If the SELECT clause contains a list a1 ... an , the command is executed like SELECT a1 ... an INTO CORRESPONDING FIELDS OF dbtab FROM dbtab .
If the result of the selection is meant to be a table, the data is usually (for further information, see INTO -Klausel ) read line by line within a processing loop introduced by SELECT and concluded by ENDSELECT . For each line read, the processing passes through the loop once. If the result of the selection is meant to be a single record, the closing ENDSELECT is omitted.
The FROM source clause the source (database table or view ) from which the data is to be selected. It also determines
the type of client handling,
the behavior for buffered tables and
the maximum number of lines to be read.
The WHERE where clause specifies the conditions which the result of the selection must satisfy. It thus determines the lines of the result table. Normally - i.e. unless a client field is specified in the WHERE clause - only data of the current client is selected. If you want to select across other clients, the FROM clause must include the addition ... CLIENT SPECIFIED .
The GROUP-BY fields clause combines groups of lines together into single lines. A group is a set of lines which contain the same value for every database field in the GROUP BY clause.
The ORDER-BY order clause stipulates how the lines of the result table are to be ordered.
Each time the SELECT statement is executed, the system field SY-DBCNT contains the number of lines read so far. After ENDSELECT , SY-DBCNT contains the total number of lines read.
The return code value is set as follows:
SY-SUBRC = 0 At least one line was read.
SY_SUBRC = 4 No lines were read.
SY-SUBRC = 8 The search key was not fully qualified.
(nur bei SELECT SINGLE ). The returned single record is any line of the solution set.
Example
Output the passenger list for the Lufthansa flight 0400 on 28.02.1995:
TABLES SBOOK.
SELECT * FROM SBOOK
WHERE
CARRID = 'LH ' AND
CONNID = '0400' AND
FLDATE = '19950228'
ORDER BY PRIMARY KEY.
WRITE: / SBOOK-BOOKID, SBOOK-CUSTOMID, SBOOK-CUSTTYPE,
SBOOK-SMOKER, SBOOK-LUGGWEIGHT, SBOOK-WUNIT,
SBOOK-INVOICE.
ENDSELECT.
Performance
In client/server environments, storing database tables in local buffers (see SAP buffering ) can save considerable amounts of time because the time required to make an access via the network is much more than that needed to access a locally buffered table.
Notes
A SELECT command on a table for which SAP buffering is defined in the ABAP/4 Dictionary is normally satisfied from the SAP buffer by bypassing the database. This does not apply with
- <b>SELECT SINGLE FOR UPDATE
- SELECT DISTINCT in the SELECT clause ,
- BYPASSING BUFFER in the FROM clause ,
- ORDER BY f1 ... fn in the ORDER-BY clause ,
- aggregate functions in the SELECT clause ,
- when using IS [NOT] NULL WHERE condition ,</b>
or if the generic key part is not qualified in the WHERE-Bedingung for a generically buffered table.
Authorization checks are not supported by the SELECT statement, so you must program these yourself.
In dialog systems, the database system locking mechanism cannot always guarantee to synchronize the simultaneous access of several users to the same dataset. In many cases, it is therefore advisable to use the SAP locking mechanism .
Changes to data in a database are only finalized after a database commit (see LUW ). Prior to this, any database update can be reversed by a database rollback (see Programming transactions ). At the lowest isolation level (see the section on the "uncommitted read" under Locking mechanism ), this can result in the dataset selected by the SELECT command not really being written to the database. While a program is selecting data, a second program can add, change or delete lines at the same time. Then, the changes made by the second program are reversed by rolling back the database system. The selection of the first program thus reflects only a very temporary state of the database. If such "phantom data" is not acceptable for a program, you must either use the SAP locking mechanism or at least set the isolation level of the database system to "committed read" (see Locking mechanism ).
In a SELECT-ENDSELECT loop, the CONTINUE statement terminates the current loop pass prematurely and starts the next.
If one of the statements in a SELECT ... ENDSELECT loop results in a database commit, the cursor belonging to the SELECT ... ENDSELECT loop is lost and the processing terminates with a runtime error. Since each screen change automatically generates a database commit, statements such as CALL SCREEN , CALL DIALOG , CALL TRANSACTION or MESSAGE are not allowed within a SELECT ... ENDSELECT loop.
Related OPEN CURSOR , FETCH und CLOSE CURSOR
SELECT clause
Variants
1. <b>SELECT [SINGLE [FOR UPDATE] | DISTINCT] *
2. SELECT [SINGLE [FOR UPDATE] | DISTINCT] s1 ... sn
3. SELECT [SINGLE [FOR UPDATE] | DISTINCT] (itab)</b> Effect
The result of a SELECT statement is itself a table . The SELECT clause describes which columns this table is supposed to have.
In addition, you can use the optional addition SINGLE or DISTINCT if you want only certain lines of the solution set to be visible for the calling program:
SINGLE The result of the selection is a single record . If this record cannot be uniquely identified, the first line of the solution set is selected. The addition FOR UPDATE protects the selected record against parallel changes by other transactions until the next database commit occurs (see LUW and Database locking ). If the database system detects a deadlock, the result is a runtime error.
DISTINCT Any lines which occur more than once are automatically removed from the selected dataset.
Note
To ensure that a record is uniquely determined, you can fully qualify all fields of the primary key by linking them together with AND in the WHERE condition.
Note
Performance
The additions SINGLE FOR UPDATE and DISTINCT exclude the use of SAP buffering .
The addition DISTINCT requires sorting on the database server and should therefore only be specified if duplicates are likely to occur.
Variant 1
SELECT [SINGLE [FOR UPDATE] | DISTINCT] *
Effect
In the result set, the columns correspond exactly in terms of order, ABAP/4 Dictionary type and length to the fields of the database table (or view ) specified in the FROM clause .
Example
Output all flight connections from Frankfurt to New York:
TABLES SPFLI.
SELECT * FROM SPFLI
WHERE
CITYFROM = 'FRANKFURT' AND
CITYTO = 'NEW YORK'.
WRITE: / SPFLI-CARRID, SPFLI-CONNID.
ENDSELECT.
Example
Output all free seats on the Lufthansa flight 0400 on 28.02.1995:
TABLES SFLIGHT.
DATA SEATSFREE TYPE I.
SELECT SINGLE * FROM SFLIGHT
WHERE
CARRID = 'LH ' AND
CONNID = '0400' AND
FLDATE = '19950228'.
SEATSFREE = SFLIGHT-SEATSMAX - SFLIGHT-SEATSOCC.
WRITE: / SFLIGHT-CARRID, SFLIGHT-CONNID,
SFLIGHT-FLDATE, SEATSFREE.
Variant 2
SELECT [SINGLE [FOR UPDATE] | DISTINCT] s1 ... sn
Effect
The order, ABAP/4 Dictionary type and length of the columns of the result set are explicitly defined by the list s1 ... sn . Each si has the form
ai or ai AS bi .
Here, ai stands either for
a field f of the database table or
a aggregate print.
bi is an alternative name for the i-th column of the result set.
When using INTO CORRESPONDING FIELDS OF wa in the INTO clause , you can specify an alternative column name to assign a column of the result set uniquely to a column of the target area.
An aggregate print uses an aggregate function to group together data from one or all columns of the database table. Aggregate prints consist of three or four components:
An aggregate function immediately followed by an opening parenthesis DISTINCT (optional) The database field f A closing parenthesis
All components of a print must be separated by at least one blank.
The following aggregate functions are available:
MAX Returns the greatest value in the column determined by the database field f for the selected lines. Specifying DISTINCT does not change the result. NULL values are ignored unless all values in a column are NULL values. In this case, the result is NULL .
MIN Returns the smallest value in the column determined by the database field f for the selected lines. Specifying DISTINCT does not change the result. NULL values are ignored unless all values in a column are NULL values. In this case, the result is NULL .
AVG Returns the average value in the column determined by the database field f for the selected lines. AVG can only apply to a numeric field. NULL values are ignored unless all values in a column are NULL values. In this case, the result is NULL .
SUM Returns the sum of all values in the column determined by the database field f for the selected lines. SUM can only apply to a numeric field. NULL values are ignored unless all values in a column are NULL values. In this case, the result is NULL .
COUNT Returns the number of different values in the column determined by the database field f for the selected lines. Specifying DISTINCT is obligatory here. NULL values are ignored unless all values in a column are NULL values. In this case, the result is 0
COUNT( * ) Returns the number of selected lines. If the SELECT command contains a GROUP BY clause , it returns the number of lines for each group. The form COUNT(*) is also allowed.
If ai is a field f , MAX( f ) , MIN( f ) or SUM( f ) , the corresponding column of the result set has the same ABAP/4 Dictionary format as f . With COUNT( f ) or COUNT( * ) , the column has the type INT4 , with AVG( f ) the type FLTP .
If you specify aggregate functions together with one or more database fields in a SELECT clause, all database fields not used in one of the aggregate functions must be listed in the GROUP-BY clause . Here, the result of the selection is a table.
If only aggregate functions occur in the SELECT clause, the result of the selection is a single record. Here, the SELECT command is not followed later by an ENDSELECT .
Notes
This variant is not available for pooled tables and cluster tables .
If the SELECT clause contains a database field of type LCHAR or LRAW , you must specify the appropriate length field immediately before.
Notes
Performance
Specifying aggregate functions excludes the use of SAP buffering .
Since many database systems do not manage the number of table lines and therefore have to retrieve this at some cost, the function COUNT( * ) is not suitable for checking whether a table contains a line or not. To do this, it is best to use SELECT SINGLE f ... for any table field f .
If you only want to select certain columns of a database table, you are recommended to specify a list of fields in the SELECT clause or to use a View .
Examples
Output all flight destinations for Lufthansa flights from Frankfurt:
TABLES SPFLI.
DATA TARGET LIKE SPFLI-CITYTO.
SELECT DISTINCT CITYTO
INTO TARGET FROM SPFLI
WHERE
CARRID = 'LH ' AND
CITYFROM = 'FRANKFURT'.
WRITE: / TARGET.
ENDSELECT.
Output the number of airline carriers which fly to New York:
TABLES SPFLI.
DATA COUNT TYPE I.
SELECT COUNT( DISTINCT CARRID )
INTO COUNT FROM SPFLI
WHERE
CITYTO = 'NEW YORK'.
WRITE: / COUNT.
Output the number of passengers, the total weight and the average weight of luggage for all Lufthansa flights on 28.02.1995:
TABLES SBOOK.
DATA: COUNT TYPE I, SUM TYPE P DECIMALS 2, AVG TYPE F.
DATA: CONNID LIKE SBOOK-CONNID.
SELECT CONNID COUNT( * ) SUM( LUGGWEIGHT ) AVG( LUGGWEIGHT )
INTO (CONNID, COUNT, SUM, AVG)
FROM SBOOK
WHERE
CARRID = 'LH ' AND
FLDATE = '19950228'
GROUP BY CONNID.
WRITE: / CONNID, COUNT, SUM, AVG.
ENDSELECT.
Variant 3
SELECT [SINGLE [FOR UPDATE] | DISTINCT] (itab)
Effect
Works like SELECT [SINGLE [FOR UPDATE] | DISTINCT] s1 ... sn if the internal table itab contains the list s1 ... sn as ABAP/4 source code, and like SELECT [SINGLE [FOR UPDATE] | DISTINCT] * , if itab is empty. The internal table itab can only have one field which must be of type C and cannot be more than 72 characters long. itab must appear in parentheses and there should be no blanks between the parentheses and the table name.
Note
With this variant, the same restrictions apply as for SELECT [SINGLE [FOR UPDATE] | DISTINCT] s1 ... sn .
Example
Output all Lufthansa flight routes:
TABLES: SPFLI.
DATA: FTAB(72) OCCURS 5 WITH HEADER LINE.
REFRESH FTAB.
FTAB = 'CITYFROM'. APPEND FTAB.
FTAB = 'CITYTO'. APPEND FTAB.
SELECT DISTINCT (FTAB)
INTO CORRESPONDING FIELDS OF SPFLI
FROM SPFLI
WHERE
CARRID = 'LH'.
WRITE: / SPFLI-CITYFROM, SPFLI-CITYTO.
ENDSELECT.
check this one:
http://www.sts.tu-burg.de/teaching/sap_r3/ABAP4/select.htm -
Relative positioning of JSF component
Hi,
How can I place a JSF component relative to another component, say I want to place a table below another table whose number of rows may vary.
Thanks,
BobHave two differnt tables or use frames and place the controls(tableand button in this case) in different frames.
<table width="100%" height="350"> -outertable
<table .................................................><tr> any number of rows. </tr>-inner table
</table>- - close outer
</tr </table> - close inner
<table> -new table
command button
</table> - close new table -
Tutorial on how to create an Ajax-enabled JSF component in Creator?
Is there a tutorial on how to create (not use/import existing) an Ajax-enabled JSF component using Creator 2? I read somewhere that it was done during a presentation in 3 minutes! Now that I really want to see ;-
thanks,
-nikitaAs far as I remeber, Edwin Goei's examples are the
closest thing to the info you are looking. He has an
example component, but don't remember if they're
AJAX enabled. Check it on
http://wiki.java.net/bin/view/Javatools/CustomCompone
tLibraries.
Best regards
Antonio.Thanks for the plug. I've been meaning to update that article. Writing an AJAX component is similar to writing other kinds of components but the developer uses AJAX techniques. The latest version of the popup calendar which is checked into the bpcatalog project of java.net uses Dojo which also has some support for AJAX. I haven't yet had time to update the article yet, unfortunately.
-Edwin
http://blogs.sun.com/edwingo/ -
Error Rendering JSP Component After Upgrade to SP12
Hi everyone,
I have developed an application in SP9 that uses a JSPDynPage Portal Component. The application was working fine before the upgrade.
After I did my upgrade to SP12, it sometimes gives me the following error: "Error rendering jsp component". And without me doing anything, the problem after a while gets fixed by itself.
The problem has been on and off now for two days. Any ideas of why this error is happening.Hey Dmitry,
Is this the log you are talking about?
#1.5#C0000A090B1800530000009A00003EE90003FE006FF9EDF7#1123702762237#com.sapportals.portal.prt.service.config.ConfigDeploymentService#sap.com/irj#com.sapportals.portal.prt.service.config.ConfigDeploymentService#qasema#18175####73447ad009d611dac181d87f0a090b18#SAPEngine_Application_Thread[impl:3]_9##0#0#Info##Plain###An upload sequence will start now. Please do not stop the server or serious deployment issues may arise.#
#1.5#C0000A090B1800530000009B00003EE90003FE007008E880#1123702763218#com.sapportals.portal.prt.service.config.ConfigDeploymentService#sap.com/irj#com.sapportals.portal.prt.service.config.ConfigDeploymentService#qasema#18175####73447ad009d611dac181d87f0a090b18#SAPEngine_Application_Thread[impl:3]_9##0#0#Info##Plain###The upload sequence is now complete, all the upgrades have been performed.#
#1.5#C0000A090B1800670000007D00003EE90003FE007071F8EE#1123702770092#com.sap.portal.prt.runtime.servlet_jsp#sap.com/irj#com.sap.portal.prt.runtime.servlet_jsp#qasema#18177####77f1fd5009d611dab416d87f0a090b18#SAPEngine_Application_Thread[impl:3]_16##0#0#Error#1#/System/Server#Java###Error in Compiling.
[EXCEPTION]
#1#com.sapportals.portal.prt.servlets_jsp.server.compiler.CompilingException: Error occurs during the compilation of java generated from the jsp
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.launchCompilerProcess(J2eeCompiler_6_30.java:577)
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.compileExternal(J2eeCompiler_6_30.java:371)
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.compile(J2eeCompiler_6_30.java:676)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPParser.parse(JSPParser.java:2160)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.compile(JSPCompiler.java:81)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.run(JSPCompiler.java:140)
at com.sapportals.portal.prt.core.broker.JSPComponentItem.compileJSP(JSPComponentItem.java:279)
at com.sapportals.portal.prt.core.broker.JSPComponentItem.getComponentInstance(JSPComponentItem.java:129)
at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.service(PortalComponentItemFacade.java:355)
at com.sapportals.portal.prt.core.broker.PortalComponentItem.service(PortalComponentItem.java:934)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:435)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:527)
at com.sapportals.portal.prt.component.AbstractComponentResponse.include(AbstractComponentResponse.java:89)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:232)
at com.sapportals.portal.htmlb.page.JSPDynPage.doOutput(JSPDynPage.java:76)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:129)
at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:134)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:646)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:154)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:392)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:345)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:323)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:865)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:240)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159)
Caused by: java.io.IOException: Not enough space
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:52)
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:566)
at java.lang.Runtime.exec(Runtime.java:491)
at java.lang.Runtime.exec(Runtime.java:457)
at com.sap.engine.lib.lang.RunExec.exec(RunExec.java:62)
at com.sap.engine.lib.lang.RunExec.exec(RunExec.java:53)
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.launchCompilerProcess(J2eeCompiler_6_30.java:556)
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.compileExternal(J2eeCompiler_6_30.java:371)
at com.sapportals.portal.prt.servlets_jsp.server.compiler.impl.J2eeCompiler_6_30.compile(J2eeCompiler_6_30.java:676)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPParser.parse(JSPParser.java:2160)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.compile(JSPCompiler.java:81)
at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.run(JSPCompiler.java:140)
at com.sapportals.portal.prt.core.broker.JSPComponentItem.compileJSP(JSPComponentItem.java:279)
at com.sapportals.portal.prt.core.broker.JSPComponentItem.getComponentInstance(JSPComponentItem.java:129)
at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.service(PortalComponentItemFacade.java:355)
at com.sapportals.portal.prt.core.broker.PortalComponentItem.service(PortalComponentItem.java:934)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:435)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:527)
at com.sapportals.portal.prt.component.AbstractComponentResponse.include(AbstractComponentResponse.java:89)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:232)
at com.sapportals.portal.htmlb.page.JSPDynPage.doOutput(JSPDynPage.java:76)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:129)
at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:134)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:646)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:154)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:392)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:345)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:323)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:865)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:240)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:95)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:159) -
Favorite JSF component library?
Hi all,
For those of you using one of the many JSF component library, what's your favorite, aesthetically? I've looked at a number of them, especially those listed over at jsfcentral.com. I think RichFaces and ICEFaces aren't bad, although I can't really seem to find one that matches my vision. Most of the ones I've seen feel very "boxy" and just aren't all that impressive. QuipuKit is also pretty good.
So I just want to know if there is any general consensus out there. Obviously everyone is going to have different tastes, but like all the ajax frameworks, I'm trying to whittle down the list to the most popular.
Thanks,
JustinHi all,
For those of you using one of the many JSF component library, what's your favorite, aesthetically? I've looked at a number of them, especially those listed over at jsfcentral.com. I think RichFaces and ICEFaces aren't bad, although I can't really seem to find one that matches my vision. Most of the ones I've seen feel very "boxy" and just aren't all that impressive. QuipuKit is also pretty good.
So I just want to know if there is any general consensus out there. Obviously everyone is going to have different tastes, but like all the ajax frameworks, I'm trying to whittle down the list to the most popular.
Thanks,
Justin -
GetStyle() of JSF component before render
Hey guys,
I'm hoping this is an easy one, here goes...
For one reason or another, I need to modify the CSS of certain components in a JSF page before it is rendered to the browser. The JSF pages are going to be laid out in Netbeans 6.0 (beta right now) using mostly Woodstock components and will have the 'style' attribute filled in for each component. However, like I said, I want to modify the CSS style value of some components prior to rendering.
Looking through the Javadocs for Woodstock (javadocs are included with plugin) I see that many components do indeed give you access to this attribute ('style'), com.sun.webui.jsf.component.Field.getStyle() returns "CSS style(s) to be applied to the outermost HTML element when this component is rendered" for example.
I figured this would be straight forward enough and attempted to retrieve the style using the prerender() method. Unfortunately, getStyle() returned null. After playing around with it for a while, it appears as though the components do not get these properties set (by the Netbeans attribute) until DURING the renderResponse phase. I say this because I tried setStyle() during prerender() and my changes were ignored. I then went back to Netbeans and removed my 'suggested style', now my setStyle() call during prerender() holds showing that somewhere in the renderResponse phase (after prerender()) the style is being set if one is given.
Obviously making any changes after prerender() [like in afterRenderResponse()] will not cut it.
To sum up:
Even as late in the lifecycle as prerender(), the CSS style attribute of a Woodstock component is not yet set (getStyle() returns null and setStyle() ends up being overwritten). Any suggestions on how to modify the style?
Thanks in advance (and I hope this is an applicable forum),
SeanSolved:
Once I wrapped my head around the problem I found a much more elegant solution.
What I wanted to do was relatively position page fragments but was having trouble as the Netbeans IDE positions components within fragments absolutely. To make my page dynamic I was taking the style="position: absolute" attribute out of the <div> tag that was holding the <jsp:directive-include>. The components within the fragments were then being positioned absolutely on the resulting page, ending up strewn all over the place. This led me off on the tangent to reposition the components when the page was called (original post above).
The weekend did me well I suppose. I came up with the bright idea to CHANGE the style attribute on the <div> tag rather than remove it. Making the <div> component "position: relative" passed its positioning down the the containing components and now my fragments are displayed correctly while being dynamically repositionable.
Hope this helps anyone coming across the same problem. -
Save rendered JSF page into HTML
Hi,
We have a requirement wherein, a rendered JSF (i.e. JSP) page needs to be saved in HTML form on server side.
One option is to write filter which will process the response and write to File. But in this case filter will intercept all request, while in my case, I want to generate HTML only when user click on particular button. For rest of the request it should bypass this filter.
Apart from filter, can we have some API which will do this?
Thanks
ChintanIs the page contents idempotent or not? If it is, just use java.net.URLConnection to query the same page. If not, then you need to do more work. You need to clone the response stream before it is been sent to the client and store it somewhere. You can do it using a Filter which replaces the HttpServletResponse with your own HttpServletResponseWrapper implementation.
Maybe you are looking for
-
Picture-albums in the Finder???
I organised my pictures in folders and albums in IPhoto but nowhere can I find this back in the Finder. I can only find my pictures in Originals in the Finder but then they are organised in time and not to my preference. Can anyone help?
-
Photo booth is not working properly,
when i first started up it the video moves really slow, then it just freezes on a certain fixed image.. or it just opens with a black screen not even showing any type of video
-
Error(41,64): SCAC-50012 at mediator when compiling BPEL composite.
HI, I am getting Error(41,64): SCAC-50012 at mediator in composite.xml when compiling BPEL composite.Please help in resolving the same. Please find the below Log scac log shows: Jun 1, 2013 6:07:31 PM oracle.adf.share.config.ADFContextMDSConfigHelper
-
I was installing Leopard to my Mac Mini and iPhoto etc. was ok, but iWeb was off. Why?? My iLife (was coming also, when I by Mini) is 6. Even I doesn't need iWeb very much I'd like it to be in my Mini.
-
No change to financial summary or a single sale for 2 days
Can the above be correct. Downloads are showing but have never gone 2 days without a single sale before? Malcolm Bain Malcolm Bain