-->

How to set a value in application scope in struts2

2019-05-29 04:42发布

问题:

I have a list that is accessible to all user of my application.I am currently adding it to session of a particular user.But i want it to be in application scope rather than session scope.Please help also provide reference/link to any example

回答1:

I am not sure how you want to use the list: you want to display that list to the screen or you just need it as configuration. To display it you could:

  • create your list statically in your Action, then display it in the JSP
  • you could take the list dynamically from a database, then display it in the JSP

To use it as configuration: some data can be made available at application level at initialization, but those are configuration params. More info here:

  • where to put configuration parameters

Using the ServletContext is the only way you can set parameters dynamically to the servlet from your code: servletContext.setAttribute(). More info here:

  • why use servlet context


回答2:

In action you can use :

ServletActionContext.getContext().getApplication().put("myVar", myObj);

In order to set in a JSP, you can use the <s:set> tag as :

<s:set name="myVar" scope="application" value="myObj"/>



标签: struts