What is the best of displaying environment specific information (Dev, QA etc.) on the view JSP in Spring? I am thinking of reading that information from a properties file. Whats the simplest way of making that properties file data available to the view JSP?
So far looks like I need to use JSTL to read the properties, but I don't want them localized!
I used the Spring 3 themes for this and having a different property file for the themeResolver per environment.
Related
I have searched and didn't find any helpful solution that's why i am going to post this question.
Actually i have spring boot project which is completely configure based upon 'Annotation'.
Now for some reason, i need to add spring-security into this project.
for that i am getting spring-security-XXX.xml file from other co-worker.
Now, i am thinking how can i wrote some Annotation which will automatically load that spring-serity-xxx.xml file into my current project environment without change any other part, so that i can achieve security feature as per spring-serity-xxx.xml file.
For example, #Configuration(classpath:spring-security-config.xml) something like, is it possible ?.
if it's possible then provide me completed list of configuration.
NOTE : security added to get OAuth integration.
Any Help Appreciate..!!
Use #ImportResource annotation.
Is there a way to write to property file from jsp using spring framework
Not directly and not with spring. And if the property file in in a jar or in a non exploded war, it will be simply impossible.
Anyway you should not even comtemplate changing a property file from the application : a property file contains static data from the application point of view.
If you want to deal with dynamic data, you'd better use a database or dedicated files stored in dedicated directories preferently outside out the war.
My company is redoing our website over the next few months, going from a ColdFusion website to one written in Java. I am just learning Java and I am curious as to how I can set application scope variables in a Java web application. ColdFusion has the application.cfm file that holds variables that are accessible by all ColdFusion pages/components within the app. Java obviously does not have a direct equivalent to that file, so I was wondering how to recreate something similar in Java. I want to have one central place that all jsp pages, servlets, classes, etc. in the webapp can access.
So what is the best way to do something like that?
Does anyone have any examples of something similar that they did?
Should application scope variables be placed in a class? an xml file? a jsp page? something else?
Is it even feasible to have application scope variables a in java webapp?
Example:
It would be a place that holds say the path to an images folder, so in individual JSP pages or classes or whatever would need acces to that images folder, you could reference the application scope variable for that path instead of writing it out in each place. Then if for some reason we needed to move the location of that images folder, we would just change the path variable in the one location and not have to update 20 places that reference that images folder.
I have had trouble finding any information on this type of thing in my research online, which is why I am asking about it here. I know it is a lot to ask for an explanation to this type of thing, but I figured I would ask and see what type of responses I could get.
Thank you for any help you can provide about this topic.
The equivalent is probably the ServletContext
In your controller servlet:
ServletContext context = request.getSession().getServletContext();
Just like in the session object you can store attributes in the servlet context as well
context.setAttribute("someValue", "aValue");
Object attribute = context.getAttribute("someValue");
If you're starting out with Java and you have a non-trivial application to build, I would recommend using a popular framework like Spring or Struts
I'm starting with a Symfony2 project. I know the framework basics but I have a question:
Where is the right place to pot those helper classes I create for help or for the business logic?
Max's answer is correct. However I question the path he recommends for your code.
The following classes and files have specific emplacements:
Service Container Extensions (belong in) DependencyInjection/
from http://symfony.com/doc/current/cookbook/bundles/best_practices.html
That says your Services should be placed in a folder called 'DependencyInjection', not 'Services'. In full, it should be src/Foo/BarBundle/DependencyInjection
I say this as someone that had the former and has just finished moving them all to the latter (!)
What #Adam says is wrong, you have to store your Dependency Injection Extensions in DependecyInjection directory, not the services itself. In the documentation says that you can store your (custom) business logic classes in any place you like.
http://symfony.com/doc/current/best_practices/business-logic.html
The best way to keep the business logic is create service to handle all the logic. So it will be in:
src/Foo/BarBundle/Service
and you need to call the service in the services.yml.
I recently did some small work on an existing Symfony2 project. As described by answer from Tuong Le, I created my Helper classes under the Helper directory of the bundle and class name with Helper suffix i.e. the helper class is located at:
src/MyBundle/Helper/MyUtilHelper.php
I can use MyUtilHelper class in my bundle without calling the service container i.e. I didn't need to call.
$container->get('my_util');
I don't really know whether there is some special config. in my setup; someone already got it setup and I was just adding new functionality.
You can create the custom classes under your Bundle, such as under a folder Helper/..
However, to use those helper in your code, you'll need to define those Helper(s) in your service description file (such as services.xml)... Then you can use $container->get('your_helper')->
According to official documentation - in particular - Symfony Best Practices - you should store your services in Utils folder under the src. I belive, that this is correct way regardless of whether you want or don't wont to make the functionality provided by services of your bundle available to other parts of application via Service Container. Furthermore, you can store helper classes in any place you consider suitable. Concerning #Adam Knowles and #PachinSV answers - they are not quite right because they do not answer your question - "Where is the right place to pot those helper classes I create for help or for the business logic?" or "Where to store classes which I want to register and use via Service Container" - but not where to put bundle Extension class - which main purpose is to provide information about configuration which should be automatically loaded from your bundle to apps Service Container during the process of booting the Kernel.
For configuring my ASP.Net Application I'm using Custom Configuration Sections in my web.config. But I would like to get IntelliSense support for my own-build configuration sections. I figured that it is possible to create a XSD Schema Definition and include that in the web.config. But is there a less painful way of getting that schema?
With Configuration Section Designer I found a tool offering a GUI for creating my configuration section and generating the schema. But I like coding and I don't want to learn how to deal with another GUI.
So, is there a possibility of automatically generating the schema for my code?
I have used this tool to generate generic schema from xml; See if it helps in your case.