Recently, due to business needs, we have turned to the research of dynamic pages. Because our system is divided into five subsystems, based on the principle of flexibility and efficiency, we want to extract the front page page, unlike the previous one. JSP forms and controls are hard-coded, but in a flexible and configurable way, allowing each system to operate efficiently. Maybe I will think about combining it with permissions later, so that permissions can control the invocation of various resources. Of course, that is a topic later, and it may not take long to start doing this.
In terms of dynamic pages, the final effect we want to achieve is not to write the JSP in the foreground, but to generate the page the system wants through dynamic binding. I am responsible for generating forms. The specific business requirement is that other subsystems package their entities into Jar packages and throw them to me. I parse and process the Jar package and read out the class name, attribute name, length, and remark information. Wait, and then add it to the database for use. This way, you don’t have to put entities that are irrelevant to your own system into your own system, and it takes another step towards making the system efficient, flexible, and configurable.
In the part I am responsible for, the preliminary research is to check the information, how to parse the Jar package, and read out the class name, attribute name, class name description and field name of the Jar package The description also includes length and other information. But this was difficult. Later, I asked the experts for advice. The idea given by the experts was to use Java's reflection mechanism. In the next blog, I will focus on explaining Java's reflection mechanism. After deciding to use Java's reflection mechanism to parse the Jar package, let's start studying and parsing the Jar package. This involves interpreting the attributes inside by reading annotations, and also involves meta-annotations. Later we will take out one or two separate blogs to talk about meta-annotations and how to customize annotations to read Jar packages. Later, the function of generating a form through entities seems very simple, but the logic is very complicated. Fortunately, it was successfully completed in the end. I will also sort out this part of the logic for you later.
In the next few blogs, I will focus on dynamic pages and share with you the content I just talked about above. It’s been a while since I’ve written a series of blogs. In the next article, we’ll start with the Java reflection mechanism, so stay tuned!