我遇到了一些代码,它们通过在HttpServletRequest对象上调用getAttribute()来访问存储在struts值栈中的值.我不认为这是可能的,它在哪里记录?
动作类中的代码(它不会将它仅添加到类值堆栈中):
private PaginatedChunk searchResults;
public PaginatedChunk getSearchResults() {
return searchResults;
}
public void setSearchResults(PaginatedChunk searchResults) {
this.searchResults = searchResults;
}
Run Code Online (Sandbox Code Playgroud)
这是自定义标记中的代码,用于从请求中提取值(并且它可以工作!?):
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
PaginatedChunk searchResults = (PaginatedChunk) request.getAttribute("searchResults");
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释这是如何工作的吗?我认为Stack值不能通过请求直接访问.
我们正在运行struts2 v2.1.8.1