Compare Sun Blueprints vs Jakarta Struts
I currently use Sun Blueprints for my projects, following the Petstore application.
But I never use Struts.
So, I'd like to know what is the different between them?
Which is the mostly use in the market?
I would answer this question by asking another question. What is the difference between plain and spicy food?
The answer lies in the taste and some improvements to your palate. I can and am trying to realte the same to the Sun Blue Prints and Struts.
Sun Blue Prints are the base for developing and nurturing your applications using the best practices and industry standards being developed/suggested by the Gurus working at SUN.
Struts on the other hand is the next step to MVC architecture(another blue print from SUN) eveloved over time with some new features added to it to make the development easier with a differnt paradigm all together.
As for the question, what is used more in the industry, SUN blueprints are used invariably everywhere whether you use Struts or not. I have come across many companies and friends using Struts as the new framework for developing J2EE applications.
I guess this is the next step in evolution of J2EE applications. But all said and done, the business needs, budgets, time and resources are some of the factors to keep in mind before jumping on to the bandwagon of using struts for applications which can be developed easily and at a relatively lower cost by using plain Blue Prints from SUN without any gizmos on to it.
Hope i was able to answer some of the queries and concerns.
Thanks
Similar Messages
-
JSP - Nested Jakarta Struts Logic Tags
Hi,
Simple question....
Can Jakarta Struts Logic tags be nested when coding JSP's
i.e.
==========================================
<logic:iterate id="searchSizeTracker" name="searchSizeTracker" type="uk.co.troutlure.bom.SearchTrackerObject" scope="request">
<logic:greaterEqual name='searchSizeTracker' property='page_no' value='<%searchActionForm.getCurrentPage()%>'>
<logic:lessEqual name='searchSizeTracker' property='page_no' value='<%searchActionForm.getMaxPage()%>'>
<logic:equal name='searchSizeTracker' property='page_no' value='<%searchActionForm.getCurrentPage()%>'>
<jsp:getProperty name="searchSizeTracker" property="page_no"/>
</logic:equal>
<logic:notEqual name='searchSizeTracker' property='page_no' value='<%searchActionForm.getCurrentPage()%>'>
<a href="<%=request.getContextPath()%>/performSearch.do?pageRequired=<bean:write name='searchSizeTracker' property='page_no'/>&action_id=<bean:write name='searchActionForm' property='currentActionId'/>&searchType=<bean:write name='searchActionForm' property='searchType'/>¤tScreen=search_reorder"><jsp:getProperty name="searchSizeTracker" property="page_no"/>
</a>
</logic:notEqual>
</logic:lessEqual>
</logic:greaterEqual>
</logic:iterate>
=========================================
The above code sample seems to fail to get past the first <logic:greaterEqual tag even though the conditions are met. And the iterator just loops throught the rest of the SearchTrackerObjects.
I'm not sure whether logic tags can be nested as shown???
Thanks in advance.Yes you should be able to nest logic tags like that.
However you seem to be wanting to limit the values that are iterated through using the greaterEqual and lessEqual tags.
I would suggest you use the offset and length attributes on the logic:iterate tag:
something like:
<logic:iterate id="searchSizeTracker" name="searchSizeTracker" type="uk.co.troutlure.bom.SearchTrackerObject" scope="request" offset ="<%searchActionForm.getCurrentPage()%>" length="<%searchActionForm.getMaxPage() - searchActionForm.getCurrentPage()%>">Cheers,
evnafets -
Comparing 2 form beans in Struts???
Hi,
How to compare 2 form beans in struts??? I have an edit screen with
some data in it. If user does not edit any of the values present in the
component(textfield) and try to submit the values that are old(already displayed)then i need to capture the data from form and compare it with the same data that is stored in another bean or session for example.
if both are equal, then prevent the user from submit otherwise allow the
user to submit the form with modified datas.
In order to proceed further,how we can actually compare 2 form beans which does have the same values in it???
Thanks,
JavaCrazyLoverNo replies as yet...
-
Java BluePrints versus Jakarta
I created a new Visual Web Pack Application, for source structure I chose Jakarta (the other option is Java BluePrints), because I am going to deploy my application in Tomcat 5.5.17. For server I obviously chose Tomcat 5.5.17.
Also, I added the BluePrints AJAX components 0.1.1 to the component libraries of my project.
However when I wanted to drag an Auto Complete Text Field on one of my project's page this turned out to be impossible. I guess because I chose Jarkarta as source structure instead of Java BluePrints.
Does anyone know how to solve this problem?
What are the consequences of choosing Java BluePrints as source structure when you want to deploy in Tomcat?
Thanks,
Annet.Well, the String.replaceAll(String, String) method uses the Java regexp internally, and I'm not sure there's a way to change that. So that at least is one place that will use it. I don't know for sure, but Jakarta's ORO is supposed to be fully compatible with Perl 5, and also supports other regexp types as well, so if you need that aspect of it, then go with Jakarta. I heard some of Java's are a little limited in some capabilities. I can't find any particular pages that refer to any comparisons of them at to compare runtime performance.
-
Jakarta Struts in Weblogic?
Hi All,
I am trying to get Struts up and running inside of a version 5.1 weblogic
container. It seems that I am close, because some of the tags work (like
the link tag). However, any tag that depends on the presence of a resource
bundle (such as the message tag) fails with the following stack trace:
Wed Nov 29 10:54:07 PST 2000:<E> <ServletContext-struts-example> Servlet
failed
with Exception
javax.servlet.ServletException: runtime failure in custom tag 'message'
at jsp_servlet._index._jspService(_index.java:89)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:105)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:123)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:742)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:686)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:247)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:361)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:261)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
Code)
Wed Nov 29 10:54:08 PST 2000:<E> <ServletContext-struts-example> root cause
of ServletException
java.lang.NullPointerException:
at
weblogic.servlet.jsp.PageContextImpl.getAttribute(PageContextImpl.java:156)
at
org.apache.struts.taglib.MessageTag.doStartTag(MessageTag.java:358)
at jsp_servlet._index._jspService(_index.java:81)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:105)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:123)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:742)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:686)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:247)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:361)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:261)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
Code)
I looked at the source code for MessageTag.java and it fails at the point
where it is trying to get a "bundle" object (instance of MessageResources)
out of the PageContext application scope.
// Acquire the resources object containing our messages
MessageResources resources = (MessageResources)
pageContext.getAttribute(bundle, PageContext.APPLICATION_SCOPE);
If I'm not mistaken, the MessageResources object should contain name/value
pairs from ApplicationResources.properties. I have that file in its default
location
(/WEB-INF/classes/org/apache/struts/example/ApplicationResources.properties)
. I have not seen any FileNotFoundException's so I think it is finding it
OK. However, the MessageResources object is either not getting created, or
is not making it into the application scope. Is there something I need to
configure in weblogic.properties to insure that the application is
initializing properly?
By the way, this is the "struts-example" application that came with the
struts binary distribution. It works fine under my tomcat installation but
we use weblogic in production.
Any suggestions would be helpful.
Thanks,
Jeff
So this gets the example working but how do i begin to use it in my application?
I created a simple web application. - copy index.jsp from example
Modifed it.
Created a simple web.xml
Now when i try to run it i get
Thu Dec 14 15:25:06 GMT 2000:<E> <WebAppServletContext-mkb> Root cause of Servle
tException
javax.servlet.ServletException: runtime failure in custom tag 'message'
at jsp_servlet._index._jspService(_index.java:133)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:123)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
textImpl.java:761)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
textImpl.java:708)
at weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
ContextManager.java:252)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
a:346)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:246)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:135)
which seams to be back where i started - unless I'm expected to use the public-html for keeping my site?
Any help please.
P.S. does WL6.0 have this problem with struts!
"Gregory Bush" <[email protected]> wrote:
>
>Like everyone else, I had a hell of a time getting the Struts framework to work in Weblogic, but I'm committed to using it and I'm stuck with the Weblogic servlet engine (for now), so I kept with it until I got the demo app working nicely.
>
>Don't even bother attempting this unless you are familiar with Weblogic configuration.
>
>Here's how it can be done:
>
>1) Re-install Weblogic 5.1 in a clean directory and enable JSP support by uncommenting the JSP-related tags in the weblogic.properties file, and change the weblogic.system.listenPort to 80.
>
>2) Install service pack 6. Early versions of Weblogic 5.1 are packed with Servlet bugs, and you will get nowhere with them.
>
>3) Empty the public_html and serverclasses directories. You might as well clean out clientclasses and servletclasses and any straggling files in myserver while you are at it.
>
>4) Un-jar the struts-example.war file into a temporary directory. Weblogic claims to fully support Servlet 2.2 and .war files, etc., but as anyone who has actually tried to use them has found out, that support is so spotty one wonders how they ever get J2EE certification in the first place. WE WILL DEPLOY USING THE weblogic.properties FILE, NOT A web.xml FILE!
>
>5) Take the JSPs from the exploded .war file and copy them to your public_html directory.
>
>6) Create a WEB-INF directory under your public_html directory and copy action.xml, database.xml and *.tld from the example application's WEB-INF directory into it. DON'T COPY web.xml OR THE DIRECTORIES.
>
>7) Copy the org folder from the sample application's WEB-INF/classes directory into your serverclasses directory.
>
>8) Un-jar the example app's WEB-INF/lib/struts.jar file into your serverclasses directory and delete the META-INF directory it creates.
>
>9) From your Tomcat installation's lib directory, get jaxp.jar and parser.jar and un-jar them into your serverclasses directory, deleting the META-INF directories. If you haven't installed Tomcat, you can get these JARs from Sun.
>
>10) Add the following lines to your weblogic.properties file (up to the ****):
>
># Register the DatabaseServlet
>weblogic.httpd.register.db=org.apache.struts.example.DatabaseServlet
>weblogic.httpd.initArgs.db=\
> debug=2
>
># Register our Struts ActionServlet
>weblogic.httpd.register.*.do=org.apache.struts.action.ActionServlet
>weblogic.httpd.initArgs.*.do=\
> application=org.apache.struts.example.ApplicationResources,\
> config=/WEB-INF/action.xml,\
> debug=2,\
> detail=2
>
># Start these servlets when the app server starts
>weblogic.system.startupClass.StartDatabaseServlet=\
> weblogic.servlet.utils.ServletStartup
>weblogic.system.startupArgs.StartDatabaseServlet=\
> servlet=db
>
>weblogic.system.startupClass.StartActionServlet=\
> weblogic.servlet.utils.ServletStartup
>weblogic.system.startupArgs.StartActionServlet=\
> servlet=*.do
>
>****
>
>You should now be able to start Weblogic, connect to http://localhost, see the main page and explore the sample application.
>
>Note that the database servlet is now exposed to the world as /db, so I wouldn't use that kind of connection pool access in a real application.
>
>Also, you wouldn't have to un-jar the library files if you put them on your Weblogic classpath, but that can be painful.
>
>Now that you have a clean demo app running, you can integrate your existing application back into the clean installation. It's much easier doing it this way than trying it the other direction.
>
-
whatz a good way to start learning struts framework ? bookd articles tutorials...
thankswhatz a good way to start learning struts framework ?
bookd articles tutorials...
thanksI'd go straight to the horse's mouth: http://jakarta.apache.org/struts/index.html -
Netscape Directory Server 4.x with sun blueprints script - still no luck
I installed the directory server 4.x, ran suns NATIVE ldap script for Solaris 8. I don't think it generated the "Solaris Native" profile. . how can I tell. When I go to ldapclient a client machine, I get the following:
parsing -P option
findDN: begins
findDN: calling __ns_ldap_default_config()
found 2 namingcontexts
findDN: __ns_ldap_list(NULL, "(&(objectclass=nisDomainObject)(nisdomain=carfund.com))"
rootDN[0] dc=carfund,dc=com
found baseDN dc=carfund,dc=com for domain carfund.com
Servers addresses 172.16.100.233
About to configure machine by downloading a profile
save sysinfo
save stat(/etc/nsswitch.conf,
save /usr/sbin/nscd -K
save /usr/bin/pkill -9 nscd
save rename(/etc/nsswitch.conf, /etc/nsswitch.conf.orig)
save stat(/etc/defaultdomain,
save rename(/etc/defaultdomain, /etc/defaultdomain.orig)
save stat(/etc/.rootkey,
No /etc/.rootkey file!
save stat(/var/nis/NIS_COLD_START,
No /var/nis/NIS_COLD_START file!
namelen 11
save stat(/var/yp/binding/carfund.com,
No /var/yp/binding/carfund.com directory!
download save() of systems configuration suceeded.
download ret 2
download p 0xffbef4c4
download p Object not found
The download of the profile failed, recovering system state.
recover stat(/etc/defaultdomain.orig, )
recover stat(/etc/nsswitch.conf.orig, )
recover open(/etc/defaultdomain.orig, )
recover read(/etc/defaultdomain.orig, )
recover old domainname carfund.com
recover stat(/var/ldap/ldap_client_file.orig, )
recover stat(/var/ldap/ldap_client_file.orig, )
recover stat(/var/nis/NIS_COLD_START.orig, )
recover stat(/var/yp/binding/carfund.com.orig, )
recover ldap -1 nis+ -1 yp -1
recover rename(/etc/nsswitch.conf.orig, /etc/nsswitch.conf)
recover rename(/etc/defaultdomain.orig, /etc/defaultdomain)
Any ideas?
Thanks,
Gary Walters
FYI .. I really want to use Directory Server 5.1 on my Solaris 8 machine, but can't seem to get it even close.Followup:
I installed the netscape version of Directory Server and then ran the blueprints script to set it up for native LDAP. I have found a few issues.
1.) I can not log into the console as Directory Manager ... I have to use admin? I think this could be a problem because when it goes to set the permissions for proxyagent, I think it uses the Directory Manager login so when I go to see the permissions it created, I don't see that entry. When I go to create one, it gives me: insuffcient 'write' priveledge to the 'aci' attribute of entry.
2.) I can not generate a profile and use ldapadd to add it, I get the following errors:
ldap_gen_profile -P default -b dc=mydomain,dc=com -D \ "cn=Proxyagent,ou=profile,dc=mydomain,dc=com" -w password \ -a simple xxx.xxx.xxx.xxx > default.ldif
Once that is done, you will have to edit the file and take out all the whitespace at the beginning of every line due to a bug. Once you are ready to add the profile, just run:
ldapadd -D "cn=Directory Manager" -w password -h ldapserver \ -p 389 -f default.ldif
I ran the steps above (substituting correct entries) and when I do the ldapadd -D command, I get the following error:
adding new entry cn=default,ou=profile,dc=carfund,dc=com ldap_add_s: Object class violation
3.) If I try to use ldapclient -v -P command on a client machine, I get the following errors:
/usr/sbin/ldapclient -v -P "Solaris Native" ###.##.###.###
parsing -P option
findDN: begins
findDN: calling __ns_ldap_default_config()
found 2 namingcontexts
findDN: __ns_ldap_list(NULL, "(&(objectclass=nisDomainObject) (nisdomain=carfund.com))" rootDN[0] dc=carfund,dc=com
found baseDN dc=carfund,dc=com for domain carfund.com
Servers addresses ###.##.###.###
About to configure machine by downloading a profile
save sysinfo
save stat(/etc/nsswitch.conf,
save /usr/sbin/nscd -K
save /usr/bin/pkill -9 nscd
save rename(/etc/nsswitch.conf, /etc/nsswitch.conf.orig)
save stat(/etc/defaultdomain,
save rename(/etc/defaultdomain, /etc/defaultdomain.orig)
save stat(/etc/.rootkey,
No /etc/.rootkey file!
save stat(/var/nis/NIS_COLD_START,
No /var/nis/NIS_COLD_START file!
namelen 11
save stat(/var/yp/binding/carfund.com,
No /var/yp/binding/carfund.com directory!
download save() of systems configuration suceeded.
download ret 2
download p 0xffbef4c4
download p Object not found
The download of the profile failed, recovering system state.
recover stat(/etc/defaultdomain.orig, )
recover stat(/etc/nsswitch.conf.orig, )
recover open(/etc/defaultdomain.orig, )
recover read(/etc/defaultdomain.orig, )
recover old domainname carfund.com
recover stat(/var/ldap/ldap_client_file.orig, )
recover stat(/var/ldap/ldap_client_file.orig, )
recover stat(/var/nis/NIS_COLD_START.orig, )
recover stat(/var/yp/binding/carfund.com.orig, )
recover ldap -1 nis+ -1 yp -1
recover rename(/etc/nsswitch.conf.orig, /etc/nsswitch.conf)
recover rename(/etc/defaultdomain.orig, /etc/defaultdomain)
Any ideas .. I still want to get Version 5.1 working , but I may have to settle for 4.x since I am not running Solaris 9 and I can't upgrade at this time. -
I have a working validatorform form that uses the struts validation framework (mostly handled through xml files).
but i want it to instead of just saying "email is invalid"... i want it to also highlight the text infront of the field in red. any ideas as to the best way to implement this?
My code can be seen at this experts exchange thread: http://www.experts-exchange.com/Web/Web_Languages/JSP/Q_21078788.html
THANKS!The field label? If you have it in a tag (say, an inline DIV or SPAN), and it has an ID, you can get a reference using Javascript and modify the foreground color. That's some Javascript and CSS stuff.
Tying this into Struts is a different issue... you'd have to do something to the Javascript that Struts uses to validate those values. -
Jakarta Struts Validation MASK
Can anyone tell me if it is possible to use the Struts validation defeinitions in validation.xml to validate a user input to only allow either numeric values or the following strings 'NA' or 'na' to be submitted via an input field.
I assume I would have to use some validation mask to acheive this?
Thanks.Anyone help with this?
I'm currently using the following:
^[0-9.NA]*$
However, that allows AN to be entered or 989NA etc where the input must be restricted to integer or double values or the exact phase 'NA'. Can this be achieved using the struts validator framework or will I have to write some custom valiudation?
Thanks. -
Struts-logic, notEqual, compare null variable
I would like to request advice using struts-logic. I have Jakarta-struts-1.0.2 working with JavaBeans on Tomcat 4.1 / W2K.
The tags below should not print the value if the value (from a database) is null.
The following tags:
<logic:notEqual name ="bookdetails" property="auth_2_surname" value="">
<br><jsp:getProperty name="bookdetails" property="auth_2_surname" />
</logic:notEqual>
generate this error:
JasperException: Cannot compare null variable to value
Is there a way to use struts-logic when the value to be compared is null?
Thank you for your help.
Jamestry to use i think <logic:notEmpty> strut tag instead
-
Exception running STRUTS examples from JAKARTA...
Hi,
I'm looking into the JAKARTA STRUTS framework for JSP. I saw the message
from Kevin X. about problems he has. I've downloaded service pack 5 and I
get the following error message:
javax.servlet.jsp.JspException: Missing resources attribute
org.apache.struts.action.MESSAGE
at
org.apache.struts.taglib.MessageTag.doStartTag(MessageTag.java:360)
at jsp_servlet._logon._jspService(_logon.java, Compiled Code)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
, Compiled Code)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
, Compiled Code)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:760)
at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:707)
at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:251)
at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:369)
at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:269)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
Code)
Does anyone knows what's up with this?
Thanks in advance.
Regards,
HC.
As promised, here is the latest from Bea Customer Support....
Kevin, <load-on-startup> is not honored by WebLogic Server 5.1.0. It is scheduled to be implemented in our next major release. I will check on the feasability of adding this feature to a 5.1.0 service pack, but in the meantime, I wonder if you can accomplish what you need by setting up a startup class <http://www.weblogic.com/docs51/classdocs/API_startup.html>?
"kevinx" <[email protected]> wrote:
>
>Bea is looking into this as I've filed a support request. I will post the solutions, if available. In the mean time, you can subscribe to struts user group mailing list to get some inspiration. Unfortunately, no one has an easy solution for running Strats on Weblogic.
>
>Kevin
>
>"Henry Chin" <[email protected]> wrote:
>>Hi,
>> I'm looking into the JAKARTA STRUTS framework for JSP. I saw the message
>>from Kevin X. about problems he has. I've downloaded service pack 5 and I
>>get the following error message:
>>
>>javax.servlet.jsp.JspException: Missing resources attribute
>>org.apache.struts.action.MESSAGE
>> at
>>org.apache.struts.taglib.MessageTag.doStartTag(MessageTag.java:360)
>> at jsp_servlet._logon._jspService(_logon.java, Compiled Code)
>> at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
>> at
>>weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
>>, Compiled Code)
>> at
>>weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
>>, Compiled Code)
>> at
>>weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
>>l.java:760)
>> at
>>weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
>>l.java:707)
>> at
>>weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
>>Manager.java:251)
>> at
>>weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:369)
>> at
>>weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:269)
>>
>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
>>Code)
>>
>>Does anyone knows what's up with this?
>>Thanks in advance.
>>Regards,
>>HC.
>>
>>
>
-
Problem with struts-faces.jar
hi,
My requirement is to migrate a struts application to jsf.
I am using the struts-faces.jar and doing all the configurations as mentioned.I am getting the following error while calling the application itself..
java.lang.ClassNotFoundException: org.apache.struts.faces.taglib.LifecycleListener
I am using the following version:
1)Tried both struts-faces-0.4 and 0.3(downloaded from http://archive.apache.org/dist/struts/struts-faces/)
2)Tomcat 5.0
3)jsf-(SUN)
4)struts 1.1
Please let me know if i am doing something wrong. and any ways to fix this.
Regards,
MythiliGiven the new release of the JSF ri and api .jar
files,
will this .jar provided at the apache site work?
http://archive.apache.org/dist/jakarta/struts/old/relea
e/struts-faces/
No, those JARs only work with the EA versions of JavaServer Faces.
A nightly build of the struts-faces integration library, that works with the beta release, is available at:
http://cvs.apache.org/builds/jakarta-struts/nightly/struts-faces/
and the corresponding source code is part of the Struts nightly build bundles in:
http://cvs.apache.org/builds/jakarta-struts/nightly/src/
in directory "contrib/struts-faces".
This package is not yet ready to be released, but seems to work for me in all the cases where the old library worked before. (If you're migrating, note particularly some tweaks you need to add in the struts-config.xml file for the new version, documented in README.txt.) Work continues on the Tiles integration which feedback has indicated is really important to people.
Developers who are building new components and renderers will be quite interested in the techniques used to make all the attributes of your own components value-binding-enalbled (like all the ones on the standard tags are). The source code for the <s:form> tag, plus the corresponding component and renderer, will be helpful in illustrating this.
Craig McClanahan -
Problem with Struts Validation and apache dtd definition.
Jakarta Struts
Java Version 1.5
We have one web application that is being a little problematic, on startup two errors are thrown relating to the same problem (errors below).
We get 401 returned for http://jakarta.apache.org/commons/dtds/validator_1_0.dtd
both the validation.xml and validation-rules.xml have the same doc type set as below:
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
We have the same configuration set for several other web application deployed succesfuly on the same tomcat application server without any problems. I'm not sure why this one application is causing a problem, I don't see any difference between the validation.xml and validation-rules.xml files in this application to any of the others that have been succesfully deployed, infact the validation-rules.xml is identical for all the web applications hosted on this server.
Any ideas appreciated
Error
2006-03-30 15:04:50,968 ERROR [HttpRequestHandler-169] validator.ValidatorPlugIn (ValidatorPlugIn.java:224) - Server returned HTTP response code: 401 for URL: http://jakarta.apache.org/commons/dtds/validator_1_0.dtd
java.io.IOException: Server returned HTTP response code: 401 for URL: http://jakarta.apache.org/commons/dtds/validator_1_0.dtd
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:791)
at java.net.URL.openStream(URL.java)
at oracle.xml.parser.v2.XMLReader.openURL(XMLReader.java:2292)
at oracle.xml.parser.v2.XMLReader.pushXMLReader(XMLReader.java:265)
at oracle.xml.parser.v2.NonValidatingParser.pushExternalDTD(NonValidatingParser.java:540)
at oracle.xml.parser.v2.NonValidatingParser.parseDoctypeDecl(NonValidatingParser.java:465)
at oracle.xml.parser.v2.NonValidatingParser.parseProlog(NonValidatingParser.java:298)
at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:277)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:184)
at org.apache.commons.digester.Digester.parse(Digester.java:1515)
at org.apache.commons.validator.ValidatorResourcesInitializer.initialize(Unknown Source)
at org.apache.struts.validator.ValidatorPlugIn.initResources(ValidatorPlugIn.java:222)
at org.apache.struts.validator.ValidatorPlugIn.init(ValidatorPlugIn.java:161)
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:1158)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:473)
at javax.servlet.GenericServlet.init(GenericServlet.java:259)
at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2141)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4582)
at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4676)
at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:820)
at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:542)
at com.evermind.server.Application.getHttpApplication(Application.java:889)
at com.evermind.server.http.HttpServer.getHttpApplication(HttpServer.java:690)
at com.evermind.server.http.HttpSite.getApplication(HttpSite.java:420)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:422)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:534)
2006-03-30 15:04:50,968 INFO [HttpRequestHandler-169] validator.ValidatorPlugIn (ValidatorPlugIn.java:209) - Loading validation rules file from '/WEB-INF/validation.xml'
2006-03-30 15:04:50,984 ERROR [HttpRequestHandler-169] validator.ValidatorPlugIn (ValidatorPlugIn.java:224) - Server returned HTTP response code: 401 for URL: http://jakarta.apache.org/commons/dtds/validator_1_0.dtd
java.io.IOException: Server returned HTTP response code: 401 for URL: http://jakarta.apache.org/commons/dtds/validator_1_0.dtd
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:791)
at java.net.URL.openStream(URL.java)
at oracle.xml.parser.v2.XMLReader.openURL(XMLReader.java:2292)
at oracle.xml.parser.v2.XMLReader.pushXMLReader(XMLReader.java:265)
at oracle.xml.parser.v2.NonValidatingParser.pushExternalDTD(NonValidatingParser.java:540)
at oracle.xml.parser.v2.NonValidatingParser.parseDoctypeDecl(NonValidatingParser.java:465)
at oracle.xml.parser.v2.NonValidatingParser.parseProlog(NonValidatingParser.java:298)
at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:277)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:184)
at org.apache.commons.digester.Digester.parse(Digester.java:1515)
at org.apache.commons.validator.ValidatorResourcesInitializer.initialize(Unknown Source)
at org.apache.struts.validator.ValidatorPlugIn.initResources(ValidatorPlugIn.java:222)
at org.apache.struts.validator.ValidatorPlugIn.init(ValidatorPlugIn.java:161)
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:1158)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:473)
at javax.servlet.GenericServlet.init(GenericServlet.java:259)
at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2141)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4582)
at com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4676)
at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:820)
at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:542)
at com.evermind.server.Application.getHttpApplication(Application.java:889)
at com.evermind.server.http.HttpServer.getHttpApplication(HttpServer.java:690)
at com.evermind.server.http.HttpSite.getApplication(HttpSite.java:420)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:422)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:534)
-----------------------------------------------------------------------hi,
I am also facing the same issue. Could you tell me which are those jar files you were missing & from where you got those?
regards
prasanth -
Hi All,
I would like to access Database from struts without using EJB, Pl. advice which architecture is best
ThanksDear dsn29:
There are basically 2 ways to call databases:
1. To call using JDBC directly
2. To call using a database pool connection
Using the 2nd one you can use:
a) Struts own connection pool,
b) the server application server connection pool if it has one,
c) a connection pool implementation ftrom a 3rd party like jakarta db connection pool.
Which one is the better one?
Well depend on how you like to code or deploy. The thing I have noticed is that Jakarta connection pool works very well and it is very independant. The only problem is that you have to define the connection either on tomcat's server.xml or in the META-INF/context.xml.
Using the connection implementation that comes with the server like Sun App Server 8.1 Q12005, is that you have to install the driver in the domain/lib/ext directory, you have to define the connection correctly at the first time (the server must recognize it to show all the drivers parameters) or you will always get a bad ping. And there are several problems with the Sun's implementation that they haven't answer back. For me the connection pool was been a pain in the neck (just search from lorenzosjb username to see). Just look my last: http://forum.java.sun.com/thread.jspa?threadID=612144&tstart=30
Finally, Struts own implementation connection pool you have to configure using the config-struts.xml . Goto to www.wrox.com and download the source code for Professional Struts (James Goodwill and Richard HighTower) and you can purchase this excellent book . The db connection pool is on chapter 11.
You can also go to http://www.objectsource.com/ where you can download a free book called Struts Best Practices that can help you
And you can www.theserverside.com and download Jakarta Struts Live and Servlets and JavaServer Pages: The J2EE Technology Web Tier for free: http://www.theserverside.com/books/addisonwesley/ServletsJSP/index.tss that can help you more.
So now I am also investigating, using Struts db implementation and installing the test web application in several java application servers to see if the implementation is really independant.
You I helped you, and good luck!
Regards,
Lorenzo -
Hello forums,
i have a problem i have small structs app.
and i have made a small jsp that called it,
but when I call the jsp I get the error saying that jsp-compile error,the actions mappings can not be found.
any suggestion ?
Thanks a lot for your time.sorry about the mess.
I just run untitled1.jsp from jdev903_pre:
the strute -version is the one that comes with jdev903_pre.
C:\jdev903_pre\jakarta-struts
Here is my jsp.
untitle1.jsp
<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>
Hello World
</title>
</head>
<body>
<html:form action="/action.do">
<html:text property="loginIni" />
<html:submit title="Click" />
</html:form>
<h2>
The current time is:
</h2>
<p>
<%= new java.util.Date() %></p>
</body>
</html>
strut-config.xml
<?xml version = '1.0' encoding = 'windows-1252'?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" " " target="_new">http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config>
<message-resources parameter="mypackage9.ApplicationResources"/>
<!-- ========== Form Bean Definitions ================= -->
<form-beans>
<form-bean name="actionForm"
type="ActionForm1"/>
</form-beans>
<!-- ========== Action Mapping Definitions ============ -->
<action-mappings>
<action path="/action"
type="Action1"
name="actionForm"
scope="request"
input="/untitled1.jsp"/>
<forward name="success" path="/untitled1.jsp"/>
</action>
</action-mappings>
</struts-config>
my web.xml
<?xml version = '1.0' encoding = 'windows-1252'?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " " target="_new">http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app>
<description>Empty web.xml file for Web Application</description>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>validate</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>validate</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
</web-app>
package mypackage9;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Action1 extends Action
* This is the main action called from the Struts framework.
* @param mapping The ActionMapping used to select this instance.
* @param form The optional ActionForm bean for this request.
* @param request The HTTP Request we are processing.
* @param response The HTTP Response we are processing.
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
ActionForm1 fom=(ActionForm1)form;
return mapping.findForward("success");
package mypackage9;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;
public class ActionForm1 extends ActionForm
* Reset all properties to their default values.
* @param mapping The ActionMapping used to select this instance.
* @param request The HTTP Request we are processing.
public void reset(ActionMapping mapping, HttpServletRequest request)
super.reset(mapping, request);
* Validate all properties to their default values.
* @param mapping The ActionMapping used to select this instance.
* @param request The HTTP Request we are processing.
* @return ActionErrors A list of all errors found.
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
return super.validate(mapping, request);
ERROR
500 Internal Server Error
javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
void org.apache.struts.taglib.html.FormTag.lookup()
FormTag.java:858
int org.apache.struts.taglib.html.FormTag.doStartTag()
FormTag.java:543
void untitled1.jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
[untitled1.jsp]
untitled1.jsp:15
void oracle.jsp.runtime.HttpJsp.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
HttpJsp.java:139
void oracle.jsp.runtimev2.JspPageTable.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
JspPageTable.java:317
void oracle.jsp.runtimev2.JspServlet.internalService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
JspServlet.java:465
void oracle.jsp.runtimev2.JspServlet.service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
JspServlet.java:379
void javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
HttpServlet.java:853
void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.invoke(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
ServletRequestDispatcher.java:724
void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.ServletRequestDispatcher.forwardInternal(javax.servlet.ServletRequest, javax.servlet.http.HttpServletResponse)
ServletRequestDispatcher.java:309
boolean com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.processRequest(com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.ApplicationServerThread, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletRequest, com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.EvermindHttpServletResponse, java.io.InputStream, java.io.OutputStream, boolean)
HttpRequestHandler.java:767
void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run(java.lang.Thread)
HttpRequestHandler.java:259
void com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].server.http.HttpRequestHandler.run()
HttpRequestHandler.java:106
void EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run()
PooledExecutor.java:803
void java.lang.Thread.run()
Thread.java:484Jean,
Your struts-config.xml is not correct. You should not have a terminator after:
input="/untitled1.jsp"/>
instead it should be:
input="/untitled1.jsp">
As a result the mapping was never found...
Also your class names need to be package prefixed:
type="mypackage9.ActionForm1"
That will get you started.
You can use the XML syntax checker with right-click menu on the xml node in the navigator.
Charles.
Maybe you are looking for
-
IPod Shuffle 2nd Gen not turning on what ever I do. Help!
Hi guys, My mum brought a iPod Shuffle 2nd Generation from Apple Store when it was top of its model. I use the apple charger that comes with it. Some reason I have found it in a pile o' stuff and it doesnt show up on the Desktop or iTunes. I tried iP
-
Error AR Invoice add"Reconciliation difference must be zero before recon
Dear Expert, We have smoothly process with out error @ SAP B1 8.8 PL 14. But When we upgrade to SAP B1 8.81 PL 09 we are facing error. The process is 1 A/R down payment request (independent), as payment is being received in advance (earlier tha
-
Can I schedule a program as a periordic background job with dynamic viarent
Hello experts, Can I schedule a progarm as a periodic background job run every day with dynamic condition (current day), if can,how? Best wishes, Evan
-
[SOLVED] Creating PKGBUILDS where the source URL does not have version
I am trying to create a a PKBUILD for idevsutil which is provided by IDrive for backing up into their cloud. The archive provided by them contains just a binary and a readme. Now the source URL, http://evs.idrive.com/download/download - inux64.zip do
-
Web IC Call List Message - Call locked,completed picked up by another agent
Hi, For certain Call Lists in the CRM 2007 Web IC, when a call is selected there is a warning message to say that the "Call has been picked up by another agent, locked or completed" . In the execution progress for the call list in CRM (CRMD_TM_CLDIST