Accessing Struts Errors using EL

Hi All,
Does anyone know how to access the messages stored by Struts using Expression Language of JSP 2.0, rather than the Struts custom tags.
Thanks,
Damian Sutton

What is wrong with the Struts tags? You are aware of the EL version of them?
If you have a JSP2.0 container you can use EL expressions for the attributes, otherwise there is a specific struts-el taglib which takes EL expressions rather than standard runtime expressions.
For stuff like displaying the error messages, I think using the Struts tag will be a lot easier.
Having said that...
The messages are stored in request attributes under the keys declared in org.apache.struts.Globals
public static final String ERROR_KEY =
"org.apache.struts.action.ERROR";
public static final String MESSAGE_KEY =
"org.apache.struts.action.ACTION_MESSAGE";
So you could access this object in jstl as
<c:set var="errors" value="${requestScope["org.apache.struts.action.ERROR"]}"/>
Note you have to use the square brackets syntax as the name includes . in it.
The problem then becomes interpreting those messages.
At this point I can't see any easy way to progress. This attribute could be a String, a String[] or an object of type ActionMessages/ActionErrors
The ActionMessages class isn't written in a way that you can access it using EL.
It has a simple method "get" which gets the iterator.
Maybe ${errors[""]} would get the iterator?
Sure there are ways around these problems, but they all involve coding wrappers/your own custom tags. I think it is easier in the long run just to use the ones provided.
Good luck,
evnafets

Similar Messages

  • Extended access-list error using FQDN

    Hi,
    I'm trying to add an access-list rule to allow internal servers to connect an outside host on a asa 5540. The hostname translates to multiple ip's. Normally I just lookup the ip address or one of the ip's the hostname translates too and use that in the access-list as the host.
    For some reason the actual ip's, which are a few, are not always available so using a specific ip sometimes does not work, thus the reason I have to use the hostname instead of the ip. I have 2 hostnames. www.hostname.com and subdomain.hostname.com.
    This is how I normally add these rules (the ip addresses are fictive):
    access-list internet_access extended permit tcp host 192.168.50.5 host 84.115.57.121 eq www log
    When I try to add this using the hostname on our asa I get an error:
    access-list internet_access extended permit tcp host 192.168.50.5 host www.hostname.com  ?
    ERROR: % Unrecognized command
    I've tried it without the 'www', so hostname.com but same error.
    How can I solve this?
    Thanks in advance for your time and help
    Regards,

    @zulqurnain
    Thanks for your reply. Indeed the asa does not allow me to use a hostname. The question is, how can I still make this work without going for 'any' or adding all the possible ip's it might translate too.

  • Getting access denied error while importing file using input type="file"

    Hi All,
    I am using struts application wherein I need to import file for some purpose.I have used input type="file" for the same which goes like:
    <input type="file" id="uploadFile" name="uploadFile" size="50">
    I have the import button on which I have used onClick event to call javascript function submitValues() used to validate all the fields from the page which goes like:
    <input type="button" name="select" value="Import" class="CSSButton" onClick="javascript:submitValues();">
    The JS function then in turn submits the form and calls the action.The problem is sometimes even when the correct path is specified for the file to be imported results in access denied error.This error comes sometimes and other times it works fine.But when this error comes,I need to relogin into the application and then it works fine.I am using IE7 for this.
    Any idea why I am getting access denied error while importing? Has it got something to do with IE7 version or with the input type="file" which is being used here?
    Thanks for any help if anyone can provide.
    Edited by: passionateforjava on Mar 4, 2009 2:18 AM

    vishnuS1984 wrote:
    Hi Friends,
    I have gone through scores of examples and i am failing to understand the right thing to be done to copy a file from one directory to another. Here is my class...So let's see... C:\GetMe1 is a directory on your machine, right? And this is what you are doing with that directory:
    public static void copyFiles(File src, File dest) throws IOException
    // dest is a 'File' object but represents the C:\GetMe1 directory, right?
    fout = new FileOutputStream (dest);If it's a directory, where in your code are you appending the source file name to the path, before trying to open an output stream on it? You're not.
    BTW, this is awful:
    catch (IOException e)
    IOException wrapper = new IOException("copyFiles: Unable to copy file: " +
    src.getAbsolutePath() + "to" + dest.getAbsolutePath()+".");
    wrapper.initCause(e);
    wrapper.setStackTrace(e.getStackTrace());
    throw wrapper;
    }1) You're hiding the original IOException and replacing it with your own? For what good purpose?
    2) Even if you had a good reason to do that, this would be simpler and better:
    throw new IOException("your custom message goes here", e);
    rather than explicitly invokign initCause and setStackTrace. Yuck!

  • Error while accessing excel file using ODBC

    Hi
    I am getting the below error message while accessing excel sheet using ODBC from Oracle:
    ERROR at line 1:
    ORA-28545: error diagnosed by Net8 when connecting to an agent
    Unable to retrieve text of NETWORK/NCR message 65535
    ORA-02063: preceding 2 lines from EXCL
    Can anyone help me on this...
    Cheers
    Pradeep
    Message was edited by:
    user634393

              Hi
              Thank you.Is there a way to read a file which is existing in the war file.
              Regards
              Anand Mohan
              "Wenjin Zhang" <[email protected]> wrote:
              >
              >In Weblogic, if your files are archived in a WAR, you cannot get an entry
              >as individual
              >file since it is only bytes in a large archive file. So getRealPath will
              >give
              >you null result. If you only want the path, try to use other getXXXPath,
              >getURL,
              >or getURI method. If you want to read the content, use getResource.
              >
              >
              >"Anand" <[email protected]> wrote:
              >>
              >>Hi
              >>I am having problem while accessing the file located in the server from
              >>a JSP
              >>page. I am not getting the RealPath from a JSP page using getRealPath(request.getServletpath()).
              >>
              >>The same code is working if the jsp placd under defaultwebApp directory
              >>and not
              >>working if i create a war and deploy the same.
              >>
              >>I am using weblogic server 7.0 trail version.I am setting the context
              >>path also.
              >>
              >>Can any help me in this regard.
              >>
              >>Thank And Regards
              >>
              >>Anand Mohan
              >
              

  • Getting Error while accessing the data using odata service

    Hi All,
    Iam new to SAP FIORI. 
    Iam getting the below error while accessing the data using odata service.
    "Failed to load resource: the server responded with a status of 404 (Not found)"
    "No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin "
    i have tried all the solutions like changing the url pattern "proxy/htttp".
    and disabled - security in chrome (Chrome is Updated version).
    i tried with IE still got the same problem.
    And installed all the required software in eclipse
    While installing GWPA plugin i got the following error.
    let me know if any one have idea.
    Thanks in advance.

    > Do you want to add and/or update the data in the already existing tables or do you want to replace the content completely?
    >
    > so in that way :
    > bot the options are fine what ever take less time.
    Sorry mate, but YOU have to know what you want here.
    I gave you an easy to follow set of steps.
    As you don't seam to mind the outcome, just might just use them...
    > I wanted to know weathe i can use the  loadercli for thie export import or not? if yes then is there any new steps to do before i do the export import?
    We had this discussion before...
    >
    > For that the easiest option would be just to drop the tables of SAPR3 and run the import again.
    >
    > For ease of use you could also just do:
    > - logon as superdba
    > - drop user SAPR3
    > - create user SAPR3 password SOMEPW not exclusive dba
    >
    > After these steps you can easily pump the data into the database again.
    >
    > So here in th above given steps , i am creating a new SAPR3 user and why it is not exclusive dba ?
    >  i already have that user SAPR3 can i use the same.
    Yes, you do have the SAPR3 user.
    But you don't seem to like to read documentation or learn about how the tools work or anything like that.
    Therefore I gave you s simple way to reach your goal.
    Of course it's possible to reuse the user.
    But then you would have to deal with already existing tables, already existing data etc.
    You don't seem to be able to do that. So, the easy steps might be better suited for your needs.
    regards,
    Lars

  • Error : Access not possible using "null" objects reference

    Hello.
    i am working with a zbapi.
    i called a external email program in this bapi,everything is working fine over here.
    In webdynpro java they mapped my bapi and starting working from there.
    every functionality is working fine but regarding this email stuff it is showing an error as access not possible using null objects reference.
    where could be the possible error.
    is it in webdynpro or in abap side.

    Raghu,
    You are right. When it comes from the WD Java, may be you are not passing any value at all. You can trace it by these ways.
    1. Check it using SE37, make sure everyhting is fine.
    2. Print all the values that you are passing to the RFC in the execute RFC method().
    3. using ST05 transaction in R/3, enable RFC and SQL trace, check what is passing in between web dynpro and R/3.
    Moreover paste your error message here.
    Thanks,
    Raj.

  • "access denied" error when using data bindings in region

    Whenever I use data boundings in a region jspx or even in a subview page, I got "access denied" error in other page that uses this region or subview.
    Anybody know if there is any workaround?
    Thanks a lot!

    Thanks Frank.
    I tried to copy all the bindings in subpage pageDef to mainpage pageDef - no luck.
    I was trying to use region to implement tile like templating following this nice article
    http://technology.amis.nl/blog/?p=1709
    Because of this access denied issue, seems this nice article is not that useful.

  • 403 Error when access Table Storage using SAS token

    I have Azure Mobile Service which has a custom API to generate a sas token for accessing Table Storage from Windows Store app.
    I get following error in Windows Store app while accessing table storage using sas token:
    Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
    Example of sas token generated:
    se=2014-09-12T03%3A10%3A00Z&sp=rw&spk=MicrosoftAccount%3A005d92ef08ec5d83081afed1e08641d2&epk=MicrosoftAccount%3A005d92ef08ec5d83081afed1e08641d2&sv=2014-02-14&tn=Folders&sig=91c7S1QM0byNdM80JncwRribXqsWS1iKmOH8cRvHWhQ%3D
    Azure Mobile Services API Code that generates sas token:
    exports.get = function(request, response) {
    var azure = require('azure-storage');
    var accountName = 'myAccountName';
    var accountKey = 'myAccountKey';
    var host = accountName + '.table.core.windows.net';
    var tableService = azure.createTableService(accountName, accountKey, host);
    var sharedAccessPolicy = {
    AccessPolicy: {
    Permissions: 'rw', //Read and Write permissions
    Expiry: dayFromNow(1),
    StartPk: request.user.userId,
    EndPk: request.user.userId
    var sasToken = tableService.generateSharedAccessSignature('myTableName', sharedAccessPolicy);
    response.send(statusCodes.OK, { sasToken : sasToken });
    function dayFromNow(days){
    var result = new Date();
    result.setDate(result.getDate() + days);
    return result;
    Windows Store app code that uses sas token:
    public async Task TestSasApi()
    try
    var tableEndPoint = "https://myAccount.table.core.windows.net";
    var sasToken = await this.MobileService.InvokeApiAsync<Azure.StorageSas>("getsastoken", System.Net.Http.HttpMethod.Get, null);
    StorageCredentials storageCredentials = new StorageCredentials(sasToken);
    CloudTableClient tableClient = new CloudTableClient(new Uri(tableEndPoint), storageCredentials);
    var tableRef = tableClient.GetTableReference("myTableName");
    TableQuery query
    = new TableQuery().Where(TableQuery.GenerateFilterCondition("PartitionKey",
    QueryComparisons.Equal,
    this.MobileService.CurrentUser.UserId));
    TableQuerySegment seg = await tableRef.ExecuteQuerySegmentedAsync(query, null);
    foreach (DynamicTableEntity ent in seg)
    string str = ent.ToString();
    catch (Exception ex)
    string msg = ex.Message;
    Exception:
    Any help is appreciated.
    Thanks in advance!
    Thanks, Vinod Shinde

    Hi Mekh,
    Thanks for the links. I checked them and mostly they are due to date time on client and server.
    But this is not the case in this scenario.
    here is the Request and Response from Fiddler.
    Request:
    GET
    https://myaccount.table.core.windows.net/Folders?se=2014-09-13T02%3A33%3A26Z&sp=rw&spk=MicrosoftAccount%3A005d92ef08ec5d83081afed1e08641d2&epk=MicrosoftAccount%3A005d92ef08ec5d83081afed1e08641d2&sv=2014-02-14&tn=Folders&sig=YIwVPHb2wRShiyE2cWXV5hHg0p4FwQOGmWBHlN3%2FRO8%3D&api-version=2014-02-14&$filter=PartitionKey%20eq%20%27MicrosoftAccount%3A005d92ef08ec5d83081afed1e08641d2%27
    HTTP/1.1
    Accept: application/atom+xml, application/xml
    Accept-Charset: UTF-8
    MaxDataServiceVersion: 2.0;NetFx
    x-ms-client-request-id: b5d9ab61-5cff-498f-94e9-437694e9256c
    User-Agent: WA-Storage/4.2.1 (Windows Runtime)
    Host: todoprime.table.core.windows.net
    Response:
    HTTP/1.1 403 Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
    Content-Length: 437
    Content-Type: application/xml
    Server: Microsoft-HTTPAPI/2.0
    x-ms-request-id: 22c0543b-0002-0049-7337-da39f4000000
    Date: Thu, 11 Sep 2014 02:33:28 GMT
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
      <code>AuthenticationFailed</code>
      <message xml:lang="en-US">Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
    RequestId:22c0543b-0002-0049-7337-da39f4000000
    Time:2014-09-11T02:33:29.6520060Z</message>
    </error>
    Do you see anything different in this request/response?
    Thanks, Vinod Shinde

  • Need help...all websites return "Unable to Connect" error using Firefox 4.0.1 but can access all using IE.

    I've been using Firefox 4.0.1 without issue. All of a sudden, I can't access websites. My network connection reports okay and I can access all websites using Internet Explorer. I thought I may have a virus so I uninstalled FF and reinstalled...I have the same result. Any explanation and resolution recommendations are welcome.

    Hi Brett,
    I have installed endeca in non-ssl mode. I am trying to validate the HTTP_Connector component as shown below and its showing the following error:  
    and if run the graph its showing error as mention above. I am new to endeca so can you please help me that what can i do for validating this component and connecting to facebook.

  • Error due to accessing database connection using jsp

    Hi,
    I have an error, during accessing a datbase using jsp:useBean from jsp.Urgent i need this one
    my source code is
    DbBean.java
    package SQLBean;
    import java.sql.*;
    import java.io.*;
    public class DbBean implements java.io.Serializable{
    private String dbDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
    private Connection dbCon;
    public DbBean(){
    super();
    public boolean connect() throws ClassNotFoundException,SQLException{
    Class.forName(dbDriver);
    dbCon = DriverManager.getConnection("jdbc dbc:mybean","","");
    return true;
    public void close() throws SQLException{
    dbCon.close();
    public ResultSet execSQL(String sql) throws SQLException{
    Statement s = dbCon.createStatement();
    ResultSet r = s.executeQuery(sql);
    return (r == null) ? null : r;
    public int updateSQL(String sql) throws SQLException{
    Statement s = dbCon.createStatement();
    int r = s.executeUpdate(sql);
    return (r == 0) ? 0 : r;
    database.jsp
    <HTML>
    <HEAD><TITLE>DataBase Search</TITLE></HEAD>
    <BODY>
    <%@ page language="Java" import="java.sql.*" %>
    <jsp:useBean id="db" scope="application" class="SQLBean.DbBean" />
    <jsp:setProperty name="db" property="*" />
    <center>
    <h2> Results from </h2>
    <hr>
    <br><br>
    <table>
    <%
    db.connect();
    ResultSet rs = db.execSQL("select * from employ");
    int i = db.updateSQL("UPDATE employ set fname = 'hello world' where empno='000010'");
    out.println(i);
    %>
    <%
    while(rs.next()) {
    %>
    <%= rs.getString("empno") %>
    <BR>
    <%
    %>
    <BR>
    <%
    db.close();
    %>
    Done
    </table>
    </body>
    </HTML>
    The error like this
    org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
    error: Invalid class file format in C:\Program Files\Apache Tomcat 4.0\webapps\muthu\WEB-INF\classes\SQLBean\DbBean.class. The major.minor version '49.0' is too recent for this tool to understand.
    An error occurred at line: 7 in the jsp file: /database.jsp
    Generated servlet error:
    C:\Program Files\Apache Tomcat 4.0\work\localhost\muthu\database$jsp.java:65: Class SQLBean.DbBean not found.
    SQLBean.DbBean db = null;
    ^
    An error occurred at line: 7 in the jsp file: /database.jsp
    Generated servlet error:
    C:\Program Files\Apache Tomcat 4.0\work\localhost\muthu\database$jsp.java:68: Class SQLBean.DbBean not found.
    db= (SQLBean.DbBean)
    ^
    An error occurred at line: 7 in the jsp file: /database.jsp
    Generated servlet error:
    C:\Program Files\Apache Tomcat 4.0\work\localhost\muthu\database$jsp.java:73: Class SQLBean.DbBean not found.
    db = (SQLBean.DbBean) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "SQLBean.DbBean");
    ^
    4 errors, 1 warning
    Anybody help me?
    Thanx in advance

    Your code is ok . The problem is in java version witch you use to compile the DbBean class . I think you are using java 1.5 try to change to 1.4 compile and run again should help .

  • "no row count was produced" error using mqsl commands through Access

    "no row count was produced" error using mqsl commands through Microsoft Access. This sql statement works when I use in in the Access program but it does not work when I try and put it through Access using my Java program. Here is the block of code that I have that does the search.
    public static Game searchRecord(String search) throws SQLException{
    String query = "SELECT* " + "FROM gamefields WHERE SKU = '" + search + "' ORDER BY SKU ASC";
    Game lastGame = new Game(gamefields.getString(1),
    gamefields.getString(2),
    gamefields.getString(3),
    gamefields.getString(4),
    gamefields.getString(5),
    gamefields.getString(6),
    gamefields.getString(7),
    gamefields.getDouble(8));
    Statement statement = connection.createStatement(); //Creates connection
    //statment to database
    statement.executeUpdate(query); //Executes the delete query and Updates the database
    statement.close();
    close();
    open();
    return lastGame;

    When you use the code from java, you access access (!) through the ODBC interface. Things can be different in ODBC and Jet. When you use PrepareadStatements, you should be on the save side:
    public static Game searchRecord(String search) throws SQLException
    String query = "SELECT * FROM gamefields WHERE SKU = ? ORDER BY SKU ASC";
    PreparedStatement statement = connection.prepareStatement(query);
    statement.setString(1,  search);
    ResultSet rs = statement.executeQuery(query);
    if(rs.next()
    // if a row retuned extract the details here
    rs.close();
    statement.close();
    return lastGame;
    }

  • "Your app is being created but it isn't ready to be used yet." Access Services error

    Hi All,
    I have configured my environment to be able to create custome Access Apps by using this guide:
    http://blogs.msdn.com/b/kaevans/archive/2013/07/14/access-services-2013-setup-for-an-on-premises-installation.aspx
    I have followed everything to the letter (except the "Configure for Apps" optional section as I had already done this).
    However whenever I try to create a new Access App I get the "Your app is being created but it isn't ready to be used yet." message and if I browse to the site contents of the url I am targeting it shows the app as installing but it will never complete.
    The logs don't give much more information than what is in the message displayed except the following entry:
    MossPackageManager.InstallPackage: Timeout before installation completed for the SPApp '94d0d6b0-cfd7-4ab6-8c7e-403ea6db0231'. Elapsed time: '1' minutes
    Is there anything that I may have missed/configured incorrectly?
    Many thanks in advance :-)

    Hi,
    According to your post, my understanding is that you could not create the Access app.
    Based on the log message, some service application may not be created well.
    You should double check whether the following service applications had been created well.
    Access Services
    Access Database Service      2010
    App Management Service
    Microsoft SharePoint      Foundation Subscription Settings Service
    Secure Store Service
    There is a similar thread for your reference.
    http://social.msdn.microsoft.com/Forums/ie/en-US/18e8f749-3c1d-4d94-8e41-7226a8c2f904/error-creating-access-custom-web-app?forum=sharepointadmin
    Thanks & Regards,
    Jason
    Jason Guo
    TechNet Community Support

  • Error code 404 keeps coming up on screen when I try to access Vodafone website (using Mac Pro)

    Error code 404 keeps coming up on screen when I try to access Vodafone website (using Mac Pro)
    Any ideas why only started happening in last week ?

    404 means the page you are looking for doesn't exist,  if you are using a bookmark
    type the website directly into your browser.
    otherwise:
    open terminal> type:
    traceroute www.vodafone.com.au
    you should get something like this:

  • Struts application using wsad 5.0 - unable to Run on server

    Hi,
    I m developing a small struts application using WSAD 5.0.
    Here is the code
    index.jsp
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <HTML>
    <HEAD>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ page
    language="java"
    contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"
    %>
    <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <META name="GENERATOR" content="IBM WebSphere Studio">
    <META http-equiv="Content-Style-Type" content="text/css">
    <LINK href="theme/Master.css" rel="stylesheet" type="text/css">
    <TITLE>ABC, Inc. Human Resources Portal</TITLE>
    </HEAD>
    <BODY background="F1_100.gif">
    <font size="+1">ABC, Inc. Human Resources Portal </font>
    </br>
    <hr width="100%" noshade="true">
    &#149;Add an Employee
    <br>
    &#149;
    <html:link forward="search">Search for Employees</html:link>
    <br>
    </BODY>
    </HTML>
    search.jsp
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <html>
    <head>
    <title> ABC, Inc. Human Resources Portal - Employee Search</title>
    </head>
    <body>
    <font size="+1">
    ABC, Inc. Human Resources Portal - Employee Search
    </font><br>
    <hr width="100%" noshade="true">
    <html:errors/>
    <html:form action="/search">
    <table>
    <tr>
    <td align="right"><bean:message key="label.search.name"/></td>
    <td><html:text property="name"/></td>
    </tr>
    <tr>
    <td></td>
    <td>-- or --</td>
    </tr>
    <tr>
    <td align="right"><bean:message key="label.search.ssnum"/></td>
    <td><html:text property="ssnum"/>(xxx-xx-xxxx)</td>
    </tr>
    <tr>
    <td></td>
    <td><html:submit/></td>
    </tr>
    </table>
    </html:form>
    <logic:present name="searchForm" property="results">
    <hr width="100%" size="1" noshade="true">
    <bean:size id="size" name="searchForm" property="results"/>
    <logic:equal name="size" value="0">
    <center><font color="red"><b>No Employees Found</b></font></center>
    </logic:equal>
    <logic:greaterThan name="size" value="0">
    <table border="1">
    <tr>
    <th>Name</th>
    <th>Social Security Number</th>
    </tr>
    <logic:iterate id="result" name="searchForm" property="results">
    <tr>
    <td><bean:write name="result" property="name"/></td>
    <td><bean:write name="result" property="ssNum"/></td>
    </tr>
    </logic:iterate>
    </table>
    </logic:greaterThan>
    </logic:present>
    </body>
    </html>
    searchForm.java
    package minihr.forms;
    import java.util.List;
    import javax.servlet.http.HttpServletRequest;
    import org.apache.struts.action.ActionError;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;
    * Form bean for a Struts application.
    * Users may access 3 fields on this form:
    * <ul>
    * <li>name - [your comment here]
    * <li>ssNum - [your comment here]
    * </ul>
    * @version      1.0
    * @author
    public class SearchForm extends ActionForm {
         private String name = null;
         private String ssNum = null;
        private List results = null;
          * Get Name
          * @return String
         public String getName() {
              return name;
          * Set Name
          * @param <code>String</code>
         public void setName(String name) {
              this.name = name;
          * Get SsNum
          * @return String
         public String getSsNum() {
              return ssNum;
          * Set SsNum
          * @param <code>String</code>
         public void setSsNum(String ssNum) {
              this.ssNum = ssNum;
          * Set Results
         public void setResults(List results){
              this.results=results;
          * get Results
         public List getResults(){
              return results;
         * Constructor
         public SearchForm() {}
         public void reset(ActionMapping mapping, HttpServletRequest request) {
              // Reset values are provided as samples only. Change as appropriate.
              name = null;
              ssNum = null;
              results = null;
         //validate form data.
         public ActionErrors validate(
              ActionMapping mapping,
              HttpServletRequest request) {
              ActionErrors errors = new ActionErrors();
              // Validate the fields in your form, adding
              // adding each error to this.errors as found, e.g.
              // if ((field == null) || (field.length() == 0)) {
              //   errors.add("field", new ActionError("error.field.required"));
              boolean nameEntered = false;
              boolean ssNumEntered = false;
              //Determine if name has been entered.
              if(name != null && name.length() > 0){
                   nameEntered = true;
              //Determine if social security number has been entered
              if(ssNum != null && ssNum.length() > 0){
                   ssNumEntered = true;
              /* validate that either name or ssnum has
               * been entered */
               if(!nameEntered && !ssNumEntered){
                    errors.add(null,new ActionError("error.search.criteria.missing"));
               /* validate format of ssnum if it has been entered */
               if(ssNumEntered && !isValidSsNum(ssNum.trim())){
                    errors.add("ssNum",
                       new ActionError("error.search.ssNum.invalid"));
              return errors;
         //validate format of social security number
         private static boolean isValidSsNum(String ssNum){
              if(ssNum.length() < 11){
                   return false;
              for(int i=0;i<11;i++){
                   if(i==3 || i==6){
                        if(ssNum.charAt(i) != '-'){
                             return false;
                   }else if("0123456789".indexOf(ssNum.charAt(i)) == -1){
                        return false;
              return true;
    searchAction.java
    package minihr.actions;
    import java.util.ArrayList;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    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 minihr.forms.SearchForm;
    import common.EmployeeSearchService;
    * @version      1.0
    * @author
    public class SearchAction extends Action {
         * Constructor
         public SearchAction() {}
         public ActionForward perform(
              ActionMapping mapping,
              ActionForm form,
              HttpServletRequest request,
              HttpServletResponse response)
              throws Exception {
              EmployeeSearchService service = new EmployeeSearchService();
              ArrayList results;
              SearchForm searchForm = (SearchForm) form;
              //perform employee search based on what criteria was entered
              String name = searchForm.getName();
              if(name != null && name.trim().length() > 0)
                results = service.searchByName(name);
              else
                   results = service.searchBySsNum(searchForm.getSsNum().trim());
              //place search results in searchform for access by JSP.
              searchForm.setResults(results);
              //forward control to this actions input page
              return mapping.getInputForward();
    EmployeeSearchService.java
    package common;
    import java.util.ArrayList;
    import common.Employee;
    * @author Niharika
    * To change this generated comment edit the template variable "typecomment":
    * Window>Preferences>Java>Templates.
    * To enable and disable the creation of type comments go to
    * Window>Preferences>Java>Code Generation.
    public class EmployeeSearchService {
         private static Employee[] employees =
              new Employee("samuel","123-45-6789"),
              new Employee("Robert","234-56-7890"),
              new Employee("smith","345-67-8901"),
              new Employee("Frank","456-78-9012")
         // search for employees by name
         public ArrayList searchByName(String name){
              ArrayList resultList = new ArrayList();
              for(int i=0; i<employees.length; i++)
                   if(employees.getName().toUpperCase().indexOf(name.toUpperCase()) != -1)
                        resultList.add(employees[i]);
              return resultList;
    // search for employee by social security number
    public ArrayList searchBySsNum(String ssNum){
         ArrayList resultList = new ArrayList();
         for(int i=0;     i<employees.length; i++)
              if(int i=0; i<employees.length; i++)
                   if(employee[i].getSsNum().equals(ssNum))
                        resultList.add(employees[i]);
              return resultList;
    Employee.java
    package common;
    * @author Niharika
    * To change this generated comment edit the template variable "typecomment":
    * Window>Preferences>Java>Templates.
    * To enable and disable the creation of type comments go to
    * Window>Preferences>Java>Code Generation.
    public class Employee {
    private String name;
    private String ssNum;
    public Employee(String name,String ssNum)
         this.name=name;
         this.ssNum=ssNum;
    public void setName(String name)
         this.name=name;
    public String getName()
         return name;
    ApplicationResources.properties
    # Label Resources
    label.search.name=Name
    label.search.ssNum=Social Security Number
    # Error Resources
    error.search.criteria.missing=<li>Search Criteria Missing</li>
    error.search.ssNum.invalid=<li>Invalid Social Security Number</li>
    errors.header=<font color="red"><b>Validation Errors </b></font><ul>
    errors.footer=</ul><hr width="100%" size="1" noshade="true">
    In searchAction.java
    it is showing 2 errors
    public ActionForward perform(
              ActionMapping mapping,
              ActionForm form,
              HttpServletRequest request,
              HttpServletResponse response)
              throws Exception {
    error is: Exception Exception is not compatible with throws clause in
    org.apache.struts.action.Action.Perform()
    Another error is shown at :
    return mapping.getInputForward();
    error is:
    method is undefined for typt org.apache.struts.action.ActionMapping
    please give me a solution for this watching the code
    i have opened the server perspective and started the server.
    next i am clicking run on server. There i am getting an error like this:
    Error Received while starting the server
    Reason:
    Launching the server failed:
    server port 9080 is in use.
    ORB bootstrap port 2809 is in use.
    SOAP connector port 8880 is in use.
    change each used port number to another unused port on the ports page of the server configuration editor. In case u have another websphere server running , you can try to increase each used port number by one and try again.please solve this problem

    Nothing at all to do with struts.
    Some of the ports that WSAD wants to use are already in use.
    Maybe you have a copy of websphere running already?
    If so stop that one, and try running again.

  • Excel Web Access(An error has occurred.Please contact your system administrator if this problem persists. )

    I'm using share point 2007 under windows server 2008 R2(one web server, another db server).When I publish a excel(*.xlsx) to report library or view it in web browser with the same error as bellows:
    Excel Web Access
    An error has occurred.
    Please contact your system administrator if this problem persists.
    Please kindly support to guide how to fix it with bellow information in details such as log.Many thanks!
    1. The 12/logs file is as bellows:
    10/10/2014 09:53:55.18  w3wp.exe (0x6528)                        0x5C08 Excel Services               
     Excel Calculation Services     2u7d Medium   ExcelServerSharedWebApplication.Local: An exception was thrown by configdb infrastructure: System.InvalidOperationException: ExcelServerSharedWebApplication.Local: Could
    not get ServerContext.Current, which indicates that either SharePoint or the SSP infrastructure isn't provisioned correctly or that we're running outside of a web context.     at Microsoft.Office.Excel.Server.ExcelServerSharedWebApplication.get_Local(). 
    10/10/2014 09:53:55.18  w3wp.exe (0x6528)                        0x5C08 Excel Services               
     Excel Services Administration  8tqh Critical Excel Services: Unexpected exception while trying to access Shared Services Database;. Error = ExcelServerSharedWebApplication.Local: Could not get ServerContext.Current, which indicates that
    either SharePoint or the SSP infrastructure isn't provisioned correctly or that we're running outside of a web context.. 
    10/10/2014 09:53:55.18  w3wp.exe (0x6528)                        0x5C08 Excel Services               
     Excel Web Access               6nfi Unexpected InternalEwr.OpenWorkbook - An unexpected exception in the ECS Proxy occurred. Message: Microsoft.Office.Excel.Server.ExcelServerSettingException:
    An error has occurred. ---> System.InvalidOperationException: ExcelServerSharedWebApplication.Local: Could not get ServerContext.Current, which indicates that either SharePoint or the SSP infrastructure isn't provisioned correctly or that we're running
    outside of a web context.     at Microsoft.Office.Excel.Server.ExcelServerSharedWebApplication.get_Local()     --- End of inner exception stack trace ---     at Microsoft.Office.Excel.Server.ExcelServerSharedWebApplication.get_Local()    
    at Microsoft.Office.Excel.Server.ExcelServerSettings.get_Settings()     at Microsoft.Office.Excel.Server.ExcelServerSettings.get_EcsList()     at Microsoft.Office... 
    2.the event in event viewer is:
    Log Name:      Security
    Source:        Microsoft-Windows-Security-Auditing
    Date:          2014/10/10 9:49:43
    Event ID:      4625
    Task Category: Logon
    Level:         Information
    Keywords:      Audit Failure
    User:          N/A
    Computer:      ***.net
    Description:
    An account failed to log on.
    Subject:
     Security ID:  NULL SID
     Account Name:  -
     Account Domain:  -
     Logon ID:  0x0
    Logon Type:   3
    Account For Which Logon Failed:
     Security ID:  NULL SID
     Account Name:  ***
     Account Domain:  ***
    Failure Information:
     Failure Reason:  An Error occured during Logon.
     Status:   0xc000006d
     Sub Status:  0x0
    Process Information:
     Caller Process ID: 0x0
     Caller Process Name: -
    Network Information:
     Workstation Name: ***
     Source Network Address: ***
     Source Port:  63664
    Detailed Authentication Information:
     Logon Process:  
     Authentication Package: NTLM
     Transited Services: -
     Package Name (NTLM only): -
     Key Length:  0
    This event is generated when a logon request fails. It is generated on the computer where access was attempted.
    The Subject fields indicate the account on the local system which requested the logon. This is most commonly a service such as the Server service, or a local process such as Winlogon.exe or Services.exe.
    The Logon Type field indicates the kind of logon that was requested. The most common types are 2 (interactive) and 3 (network).
    The Process Information fields indicate which account and process on the system requested the logon.
    The Network Information fields indicate where a remote logon request originated. Workstation name is not always available and may be left blank in some cases.
    The authentication information fields provide detailed information about this specific logon request.
     - Transited services indicate which intermediate services have participated in this logon request.
     - Package name indicates which sub-protocol was used among the NTLM protocols.
     - Key length indicates the length of the generated session key. This will be 0 if no session key was requested.
    Event Xml:
    <Event xmlns="">
      <System>
        <Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-A5BA-3E3B0328C30D}" />
        <EventID>4625</EventID>
        <Version>0</Version>
        <Level>0</Level>
        <Task>12544</Task>
        <Opcode>0</Opcode>
        <Keywords>0x8010000000000000</Keywords>
        <TimeCreated SystemTime="2014-10-10T01:49:43.563436300Z" />
        <EventRecordID>37602685</EventRecordID>
        <Correlation />
        <Execution ProcessID="532" ThreadID="26096" />
        <Channel>Security</Channel>
        <Computer>***.net</Computer>
        <Security />
      </System>
      <EventData>
        <Data Name="SubjectUserSid">S-1-0-0</Data>
        <Data Name="SubjectUserName">-</Data>
        <Data Name="SubjectDomainName">-</Data>
        <Data Name="SubjectLogonId">0x0</Data>
        <Data Name="TargetUserSid">S-1-0-0</Data>
        <Data Name="TargetUserName">***</Data>
        <Data Name="TargetDomainName">***</Data>
        <Data Name="Status">0xc000006d</Data>
        <Data Name="FailureReason">%%2304</Data>
        <Data Name="SubStatus">0x0</Data>
        <Data Name="LogonType">3</Data>
        <Data Name="LogonProcessName">
        </Data>
        <Data Name="AuthenticationPackageName">NTLM</Data>
        <Data Name="WorkstationName">***</Data>
        <Data Name="TransmittedServices">-</Data>
        <Data Name="LmPackageName">-</Data>
        <Data Name="KeyLength">0</Data>
        <Data Name="ProcessId">0x0</Data>
        <Data Name="ProcessName">-</Data>
        <Data Name="IpAddress">***</Data>
        <Data Name="IpPort">63664</Data>
      </EventData>
    </Event>

    Hi Tracy,
    Have you changed something on your SharePoint 2007 environment recently before this issue occurred?
    This issue may be related to Alternate Access Mappings settings like the following similar post, if you have configured AAM, you can check if this issue happened to some URLs, if it's the case, please add the problematic URLs as a Publish URLs for the default
    zone for your web application, and also add these URLs as trusted locations, then check results again.
    If above doesn't work, please enable ULS log on verbose level to get more useful log errors which time are corresponding to the errors occur. 
    https://social.technet.microsoft.com/Forums/en-US/c9ab4818-65c9-444d-be50-1bfed1f1509b/excel-web-access-web-part-works-on-intranet-but-not-internet?forum=sharepointgenerallegacy
    http://blog.bugrapostaci.com/2011/09/08/how-to-enable-verbose-log-mode-on-moss-2007/
    Thanks
    Daniel Yang
    TechNet Community Support

Maybe you are looking for

  • 'REUSE_ALV_GRID_DISPLAY' Excel-download without dialog

    Hi everybody, we have a couple of reports displayed in dialog mode by using FM 'REUSE_ALV_GRID_DISPLAY'. Now the question arose if there might be a possibility to perform an Excel-download NOT by pressing the dialog function button but instead with p

  • [SOLVED] Japanese characters in KDE

    I've noticed that KDE applications only display half of the Japanese characters. As an example, a terminal will display this filename as "[10]_女子たちに明日はない.flac" but Konqueror or Amarok will display it as "[10]_女[][]に[]明[][][]日い.flac". I installed the

  • How to retrieve all external refereces in a frame maker file without conditional text of hidden

    How to retrieve all external refereces in a frame maker file without conditional text of hidden

  • Integrating ADF UI with IBM Filenet

    I am working on latest jDEV(PS1) and developing UI using ADF. One of my requirement is to integrate ADF pages with IBM Filenet. For example if I am displaying Sales Order details on the page and when we click on some info button I need to display the

  • Please Help with Deploying of a Simple Tomcat Project

    Hi all, I hope this is the right forum to post this question.I have a Tomcat folder named "TomcatProject", it has the proper directory structure as the Tomcat Project. I want to deploy it into a Windows Server 2000 OS, so i will be deploying it in th