List
for(Element resultEle:resultElements){
ResultEntity re=new ResultEntity();
//得到子节点
re.setName(resultEle.attributeva lue("name"));
re.setPage(resultEle.getText());
results.add(re);
}
ae.setResults(results);
actions.add(ae);
}
pe.setActions(actions);
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
写一个index.jsp,为了写跳转链接进行验证:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
跳转
添加用户
跳转是跳到到success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
This is my JSP page.
成功了
添加用户是跳到adduser.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
This is my JSP page.
添加用户了
写好了jsp之后我们就要过滤这些连接,进行跳转,写一个struts2的过滤器:
public class StrutsFilter implements Filter {
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request=(HttpServletRequest)req;
String path=request.getServletPath();
System.out.println(path);
String[] pathArr=path.split("/");
String namespace=pathArr[1];
String actionString=pathArr[2];
String actionname=actionString.split("!")[0];
String methodname=actionString.split("!")[1].split("\\.")[0];
System.out.println(actionname+":"+methodname);
PackageEntity pe=ConfigUtils.pe;
List
ActionEntity doAction=null;
for(ActionEntity ae:actions){
if(ae.getName().equals(actionname)){
doAction=ae;
break;
}
}
try {
Class actioncls=Class.forName(doAction.getClassname());
Object actionObj=actioncls.newInstance();
Class cls=actionObj.getClass();
Method actionMethod=cls.getDeclaredMethod(methodname);
String resultValue=(String)actionMethod.invoke(actionObj,null);
List
ResultEntity re=null;
for(ResultEntity result:results){
if(resultValue.equals(result.getName())){
re=result;
break;
}
}
request.getRequestDispatcher(re.getPage()).forward(request, res);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
ConfigUtil