The <s: debug> tag is added to the page when SSH is set up.
Severe: Servlet. service () for servlet jsp threw exception
Java. util. ConcurrentModificationException
At java. util. ArrayList $ Itr. checkForComodification (ArrayList. java: 859)
At java. util. ArrayList $ Itr. next (ArrayList. java: 831)
At org. apache. struts2.components. Debug. start (Debug. java: 68)
At org. apache. struts2.views. jsp. ComponentTagSupport. doStartTag (ComponentTagSupport. java: 53)
At org. apache. jsp. index_jsp. _ jspx_meth_s_005fdebug_005f0 (index_jsp.java: 152)
At org. apache. jsp. index_jsp. _ jspService (index_jsp.java: 107)
At org. apache. jasper. runtime. HttpJspBase. service (HttpJspBase. java: 70)
At javax. servlet. http. HttpServlet. service (HttpServlet. java: 728)
..............
Page display:
Messages: |
- Java. util. ConcurrentModificationException
|
File: |
Java/util/ArrayList. java |
The reason is that such a function is used in my action. When I use the put () method in the getPersonById function, the <s: debug> label can be used to view the stack value, however, the above error occurs when I use the push () method. Replace the getPersonById function with another name. For example, replace it with findPersonById. Do not start with get. The above error is solved, and you can press the push method into the stack. I don't know the specific cause, but I found that the getPersonById function in ValueSatck is executing the push function cyclically during debugging, so it should be a problem of getPersonById naming, generally, it is best not to start with get ** for the action Function in struts.