Access context parameter in web.xml

Hi, all. I add a entry into Context Initialization parameter at tab Application in file web.xml with name: path and value img/product. I don't know how to get the context parameter. I want access the context by EL in file .jspx or .jsf, as #{path} but error. Can anyone help me.Thanks.

Hi,
have a go with
#{initParam['param_name_here']}"
alternatively
#{facesContext.externalContext.initParameterMap['param_name_here']}
Frank

Similar Messages

  • Significance of context param in web.xml to initialize any variable?servlet

    I am writing a standalone web appplication for rss (xml) creation where i am having jsp servlets class etc.
    Now to write rss.xml and read it back in application i have temporarily used c:\\rss.xml but to make it capable working in web application which can be uploaded in website i need to make it configurable i need to kep it in context param of web.xml and in init() method of servlet of my application what exactly i should do there.what i have tried is this :
    public class Startup extends HttpServlet {
    private static String rssFeed;
    private ServletContext ctx;
    Logger log = Logger.getLogger(Startup.class);
    public void init(){
    log.debug("Initializing APPLICATION CONTEXT Variables");
    ctx = getServletContext();
    rssFeed = (String)ctx.getInitParameter("RssFeed");
    log.debug("Rss : " + rssFeed);
    String rssFile = this.getServletContext().getRealPath("") + File.separator + "WEB-INF" + File.separator + "rss.properties";
    Properties property = new Properties();
    try{
    InputStream propertiesFile = new FileInputStream(rssFile);
    property.load(propertiesFile);
    catch (IOException e) {
    log.error("IOException during domainValuesList file Reading");
    e.printStackTrace();
    log.error("Exception while loading AllowedDomainValues file");
    log.debug("Domain Values Lists Updated");
    /** Get Host Name (Server Name) where application is hosted on
    public static String getRssFeed(){
    return rssFeed;
    after that i called this startup servlet class in other servlet taken this getRssFeed()
    stored it as string passed as parametr to other class where i need to call it but there i am getting null pointer exception which says not initialized.
    even what i have written in web.xml is here:
    <context-param>
    <param-name>RssFeed</param-name>
    <param-value>c:\\rsshandler.xml</param-value>
    </context-param>
    <servlet>
    <servlet-name>Startup</servlet-name>
    <servlet-class>src.Startup</servlet-class>
    <init-param>
    <param-name>RssFeedConfig</param-name>
    <param-value>/WEB-INF/rss-config.xml</param-value>
    </init-param>
    </servlet>
    <servlet-mapping>
    <servlet-name>Startup</servlet-name>
    <url-pattern>/Startup</url-pattern>
    <load-on-startup>1</load-on-startup>
    </servlet-mapping>
    i tried what i know or understood but its not working.
    one more thing i have doneis:created rss.properties files in web-inf
    lines added are
    rssfeed=c:\\rsshandler.xml
    but even i am not getting this why
    or what sholud i do here.
    this thing needs to be configurablewhich we can change later easily.
    any suggestions.
    thanks
    vijendra

    Ben -
    There can be init params for the servlet or for the servlet context. For the servlet, this looks like:
    <servlet>
    <servlet-name>InitServlet</servlet-name>
    <servlet-class>package1.InitServlet</servlet-class>
    <init-param>
    <param-name>message</param-name>
    <param-value>Hello From Initialization Parameter</param-value>
    </init-param>
    </servlet>
    in the web.xml file, and is accessed using:
    public void init(ServletConfig config) throws ServletException
    super.init(config);
    message = config.getInitParameter("message");
    For a servlet context init param, you define it as you did using the web.xml settings editor:
    <context-param>
    <param-name>hello</param-name>
    <param-value>hi</param-value>
    </context-param>
    This is accessed using:
    public void init(ServletConfig config) throws ServletException
    super.init(config);
    message1 = config.getServletContext().getInitParameter("hello");
    Hope this helps,
    Lynn
    Java Tools Team

  • Generated JSP reports and context-param in web.xml

    I have what I believe to be a problem when using .jsp files generated from reports builder (actually, it looks as if the problem is in the reports tag library. When adding a context-param to web.xml, I get an error when compiling the following line:
    <%@ taglib uri="/WEB-INF/lib/reports_tld.jar" prefix="rw" %>
    Error(1): oracle.xml.parser.v2.XMLParseException: Invalid element 'context-param' in content of 'web-app', expected elements '[taglib, resource-ref, security-constraint, login-config, security-role, env-entry, ejb-ref]'.
    Note that I can read the context param and no other JSP pages seem to care, just those with the Reports Tag library.
    Regards,
    Jeff

    Ben -
    There can be init params for the servlet or for the servlet context. For the servlet, this looks like:
    <servlet>
    <servlet-name>InitServlet</servlet-name>
    <servlet-class>package1.InitServlet</servlet-class>
    <init-param>
    <param-name>message</param-name>
    <param-value>Hello From Initialization Parameter</param-value>
    </init-param>
    </servlet>
    in the web.xml file, and is accessed using:
    public void init(ServletConfig config) throws ServletException
    super.init(config);
    message = config.getInitParameter("message");
    For a servlet context init param, you define it as you did using the web.xml settings editor:
    <context-param>
    <param-name>hello</param-name>
    <param-value>hi</param-value>
    </context-param>
    This is accessed using:
    public void init(ServletConfig config) throws ServletException
    super.init(config);
    message1 = config.getServletContext().getInitParameter("hello");
    Hope this helps,
    Lynn
    Java Tools Team

  • Access parameter from web.xml

    <servlet>
    <servlet-name>serverText</servlet-name>
    <servlet-class>abc</servlet-class>
    <init-param>
    <param-name>serverParam</param-name>
    <param-value>parameter</param-value>
    </init-param>
    </servlet>
    Hi, above is what i defined in my web.xml.
    i want to know how to get the serverParam from my jsp file.
    i tried to use String param = pageContext.getServletConfig().getInitParameter("serverParam");
    but i got null.
    please help me.
    thanks

    hi,
    well all jsps are compiled to servlets before running anyway, well if you using a jsp you can still do the
    String param = getInitParameter("serverParam");
    you could do this in the jspInit method
    public void jspInit()
    String param = config.getInitParameter("serverParam");
    // config is the implicit ServletConfig object
    The getInitParameter method is actually defined in the javax.servlet.ServletConfig class, the ServetConfig object is available as an implicit object by name config in a jsp page with page-level scope). well hope this was useful.
    Cheerz

  • Access Context Parameter in Java Bean.

    Hi,
    I want to access the Context parameter set by the web.xml from a java bean or simple java class. For example, If I have database connection details in my web.xml and I want to get these in a Java Bean of a class which will pick up the values and create a Connection object and return to the guy calling it, either JSP or servlet.
    I have a idea of using InitialContext class. But I doubt it works for
    Context parameter defined in the web.xml.
    It worked if I use like this for DataSource object which is created in my application server.
    Context ctx = new InitialContext();
    DataSource ds = (DataSource)ctx.lookup("OMSDataSource");
    return ds.DatabaseConnection.getConnection();
    So how can I access a parameter like this..
    <context-param>
    <param-name>Webmaster</param-name>
    <param-value>[email protected]</param-value>
    </context-param>
    Cheers.
    L G Goundalkar

    Greetings,
    Hi,
    I want to access the Context parameter set by the web.xml from a java bean or simple java class.The bean doesn't have direct access to the context object so that access must to supplied to it - i.e by calling getServletContext() and passing the resulting reference to the bean.
    For example, If I have database connection details in my web.xml and I want to get these in a Java
    Bean of a class which will pick up the values and create a Connection object and return to the guy
    calling it, either JSP or servlet.Why not write a DAO to handle the JSP or servlet's access needs? The DAO can be initialized at application start with a context listener and the initialized instance placed in the context where the JSP or servlet can get it directly. ;)
    I have a idea of using InitialContext class. But I doubt it works for Context parameter defined in the
    web.xml.Not for context parameters (a different "space" from the JNDI namespace ;). But, of course, it does work for "environment entries" which may also be placed in the web.xml DD (er, presuming your web container supports JNDI, of course).
    Cheers.
    L G GoundalkarRegards,
    Tony "Vee Schade" Cook

  • Init parameter in web.xml throwing an error..?

    OK.. this is probably going to sound strange, but here goes:
    Here is my entry in the web.xml:
    <servlet>
              <servlet-name>ServletTestRunner</servlet-name>
              <servlet-class>
                   org.apache.cactus.server.runner.ServletTestRunner
              </servlet-class>
         </servlet>
         <servlet-mapping>
              <servlet-name>ServletTestRunner</servlet-name>
              <url-pattern>/ServletTestRunner</url-pattern>
         </servlet-mapping>Everything works fine - I pull up the servlet with the following URL (http://localhost:7001/CDCAppWeb/ServletTestRunner?suite=com.testcases.decision.service.SendCreditRequestBeanTest)
    , and receive the results in XML format. However, if I change the web.xml to have the following:
         <servlet>
              <servlet-name>ServletTestRunner</servlet-name>
              <servlet-class>
                   org.apache.cactus.server.runner.ServletTestRunner
              </servlet-class>
              <init-param>
                   <param-name>xsl-stylesheet</param-name>
                   <param-value>cactus-report.xsl</param-value>
              </init-param>
         </servlet>(notice the cactus-report.xsl init-param entry) - the servlet does not work. Actually, NONE of the other servlets in my application work when I put in this init-param for the ServletTestRunner. I have verified that the xsl is in the classpath (WEB-INF/classes).
    What I am missing... any ideas?

    I know what the problem is. If you call servlet with the default URL (http://host/app/servlet/package.Servlet) than Servlet DOES NOT read init parameters. I don't know why it was designed this way.
    To make servlet read init parameters, you have to assign it a name and then call it with that name, like this:
    <servlet>
    <servlet-name>ServletName</servlet-name>
    <servlet-class>package.ServletClass</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>ServletName</servlet-name>
    <url-pattern>/app/path/ServletName</url-pattern>
    </servlet-mapping>
    You can then call servlet using path specified in url-pattern and read init parameters in the normal way.

  • 9.0.3, web.xml, context-param

    Using documentation found on oracle's website, where I needed to have a specific initialization parameter, I setup a context-param in web.xml. In 9.0.2, I got a warning (and posted here but got no response) but was able to continue. In 9.0.3 I can't run my project when I include this parameter.
    Here's what I add to web.xml
    <context-param>
    <param-name>ReportServerURL</param-name>
    <param-value>http://localhost:8888/reports/rwservlet</param-value>
    </context-param>
    when trying to compile, I get:
    Error(76,18): Invalid element 'context-param' in content of 'web-app', expected elements '[taglib, resource-ref, security-constraint, login-config, security-role, env-entry, ejb-ref]'.
    Any ideas?
    Thanks,
    Jeff

    If only you would see web-app.dtd you could know that context-param must be enclosed in web-app and be at certain place. See that (from web-app.dtd):
    <!ELEMENT web-app (icon?, display-name?, description?, distributable?,
    context-param*, filter*, filter-mapping*, listener*, servlet*,
    servlet-mapping*, session-config?, mime-mapping*, welcome-file-list?,
    error-page*, taglib*, resource-env-ref*, resource-ref*, security-constraint*,
    login-config?, security-role*, env-entry*, ejb-ref*, ejb-local-ref*)>

  • Using a Variable from web-inf/web.xml in java code?

    I would like to create a read-only variable with a value in the /web-inf/web.xml file and then access that value within a java service method within the Application Module.
    Where / how do I read the value from the web.xml file and make it accessible within my java code?
    thanks

    Hi,
    you can define context parameters in web.xml that you can access from Java in the web application
    The following is a JSF examle that checks a context parameter in a PhaseListener, where the string is stored ina Java constant (could be "myParam")
    ExternalContext exctx = FacesContext.getCurrentInstance().getExternalContext();
    useSessionPageCache = exctx.getInitParameter(Constants.USE_PAGE_CACHE) == null ? false :
    (exctx.getInitParameter(Constants.USE_PAGE_CACHE)).equalsIgnoreCase("TRUE") ? true : false;
    From here you can call a method on the AM to set the value or look for another option.
    Frank

  • How to initialized a variable in java file by taking the value from web.xml

    suppose i declare parameter in web.xml file
    i want to access if from a java file .
    how can i do this . plz help me its urgent...............

    In your Servlet class you can use the getInitParameter("configfile") method.

  • Context parameter

    Hi,
    Currently I am migrating my tomcat application to sun java web server 7.1.
    I am getting annoyed due to failed set context parameter, How to set servlet context paramerer outside web.xml. Currently I use separate xml file or add it in tomcat server.xml like
    <?xml version="1.0" encoding="utf-8"?>
    <Context>
         <!-- #Internal API -->
           <Parameter name="login_uri" value="http://127.0.0.1/cgi-bin/login.fcgi"  override="false"/>
    </Context>This parameter shared by all wars. How do I set this in sun one web server, if is there way to set it via admingui it will me much better.
    Thanks

    you might want to use 7.0 update 4 (http://www.sun.com/webserver) . there is no 7.1 yet .
    you should be able to do this within <https-<hostname>/config/default-web.xml (append it at the end just before the last line..)
    <context>
    </context>
    </web-app>
    finally, if every thing is working out for you, then you need to do the following command so that admin gui is aware of your manual changes
    bin/wadm pull-config user=admin config=<hostname.domainname> <hostname.domainname>

  • C:import and web.xml

    Im using <c:import url="http://path_to_html" />. I want to put this value in the web.xml using context param. The problem is I don't know how my c:import tag will refer to that context param inside web.xml. Can anyone give a solution? Thanks.

    web.xml
      <context-param>
        <param-name>abc</param-name>
        <param-value>http://path_to_html</param-value>
      </context-param>
    JSP
    <c:import url="<%= application.getInitParameter("abc") %>"></c:import>More info for c:import
    http://www.onjava.com/pub/a/pub/a/onjava/2002/05/08/jstl.html?page=2
        * Absolute URL: <c:import url="http://sample.com/Welcome.html"/>
        * Relative URL (to the current context): <c:import url="/copyright.html"/>
        * Relative URL with a foreign context: <c:import url="/myLogo.html" context="/common"/>
        * FTP resource: <c:import url="ftp://ftp.sample.com/myFile"/>

  • Access custom variable value in web.xml context-param?

    My requirement or need is to access a variable value either in a class in my Model project or a backing bean in my View project. For example, one variable I need to access is an application server I am integrating with - 'testserver' or 'productionserver' - I want to be able to configure this within an external file so that I do not have to re-compile my application to change the variable.
    I was thinking about placing this variable in the web.xml <context-param> section as:
    <context-param>
    <param-name>servername</param-name>
    <param-value>testserver</param-value>
    </context-param>
    I need to access this value within a class (not a servlet) on an Application Module service method, though if needed, I could access it from a backing bean and pass it to the service method (less desirable.) Is this a good approach and how do access this variable from within a Java class including any imports I need to do (code example)?
    Thanks and Happy New Year!
    Hopefully most everyone is out spending time with friends and family versus stuck trying to complete a project like me...

    I found an example from SRDemo that provides what I was looking for:
    String serverhostaddress =
    FacesContext.getCurrentInstance().getExternalContext().getInitParameter("param-name-var-in-webxml");

  • Define a context parameter not using web.xml

    Dears,
    With a web.xml file, it is possible to define a context parameter available in the web app via de ServetContext.getInitParameters method.
    Is it possible to define a context parameter not using the web.xml file ? Can I, in a java Class, init a custom context parameter ? (for exampel, init as a context param a key/value pair read from a property file).
    PS: the need is that the value (hmac key) currently define in the web.xml needs to be updated monthly. Apparently, under WebSphere (the app server we are using) changing the web.xml of the deployed app it not enought for it to be taken into account.
    Sincerely,
    Beno�t Bertrand

    Is it possible to define a context parameter not
    using the web.xml file ? Can I, in a java Class, init
    a custom context parameter ? (for exampel, init as a
    context param a key/value pair read from a property
    file).Does it necessarily have to be a value retrieved through the context param ? AFAIK, there's no way you could programatically 'set' an init param, which going by the name, 'init param' is quite understandable.
    You could define this value in a property file and read it in, in the init method. You should provide a mechanism to reload the new value after 'x' days. One approach is a Timer that does the job, do have a look at SteveJLuke's recommendations on the same in this thread
    http://forum.java.sun.com/thread.jspa?threadID=637355&tstart=0cheers,
    ram.

  • Taw web xml file ADMINREADCC8 context parameter

    when I run the scipt for CCA the Useme.sql I only see the ADMINCC8 user I don't see the ADMINREADCC8 so I'm not sure what to put on the following context for web.xml
    <!-- Needs to be removed for MSSQL-->
    <!--<context-param>-->
    <!--<param-name>databaseSchemaReadOnly</param-name>-->
    <!--<param-value>ADMINCCREAD813</param-value>-->
    <!--</context-param>-->

    This is the eclipse error
    The content of element type "web-app" must match "(icon?,display-
    name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-
    mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-
    ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-
    ref*)".
    Web.xml file
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app
            PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
            "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
         <display-name>tapestryHiber Tapestry 5 Application</display-name>
         <context-param>
              <!-- The only significant configuration for Tapestry 5, this informs Tapestry
                   of where to look for pages, components and mixins. -->
              <param-name>tapestry.app-package</param-name>
              <param-value>com.kids.crm</param-value>
         </context-param>
         <filter>
              <filter-name>app</filter-name>
              <filter-class>org.apache.tapestry5.TapestryFilter</filter-class>
         </filter>
         <filter-mapping>
              <filter-name>app</filter-name>
              <url-pattern>/*</url-pattern>
         </filter-mapping>
         <context-param>
              <param-name>contextConfigLocation</param-name>
              <param-value>/WEB-INF/spring/spring-servlet.xml</param-value>
         </context-param>
         <listener>
              <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
         </listener>
    </web-app>
          Edited by: csckid on Aug 29, 2011 5:51 AM

  • How can I get the context-parm from a web.xml file using struts?

    Hello:
    I need get the context-param from the web.xml file of my web project using struts. I want configurate the jdbc datasource connection pooling here. For example:
    <context-param>
    <param-name>datasource</param-name>
    <param-value>jdbc/formacion</param-value>
    <description>Jdbc datasource</description>
    </context-param>
    and then from any Action class get this parameter.
    Similar using a simple server can be:
    /** Initiates new XServlet */
    public void init(ServletConfig config) throws ServletException {
              for (Enumeration e = config.getInitParameterNames(); e.hasMoreElements();) {
                   System.out.println(e.nextElement());
              super.init(config);
              String str = config.getInitParameter("datasource");
              System.out.println(str);
         public void doPost(HttpServletRequest req, HttpServletResponse res)
              throws ServletException, IOException {
              // res.setContentType( );
              System.out.println("Got post request in XServlet");
              PrintWriter out = res.getWriter();
              out.println("nada");
              out.flush();
              out.close();
    but only this works for init-params, if I use
    <servlet>
         <servlet-name>MyServlet</servlet-name>
         <display-name>MyServlet</display-name>
         <servlet-class>myExamples.servlet.MyServlet</servlet-class>
         <init-param>
         <param-name>datasource</param-name>
         <param-value>jdbc/formacion</param-value>
    </init-param>
    </servlet>
    inside my web.xml. I need something similar, but using struts inside the action class for that I can get the context-params and call my database.
    Thank you

    To get context parameters from your web.xml file you can simply get the ActionServlet object from an implementing action object class. In the perform (or execute) method make the following call.
    ServletContext context = getServlet().getServletContext();
    String tempContextVar =
    context.getInitParameter("<your context param >");

Maybe you are looking for