输入地址:http://localhost:8080/xxxx/xxx/xxxxx/edcourse.jsp
edcourse.jsp:<s:if test="#request.boolfirst==null">
<s:action name="xxx_xxxxx" namespace="/xxxxx"></s:action>
</s:if>
public String xxxxx(){
try {
if(lecturer.getId()!=null)
{
Lecturer TempLecturer= lecturerBiz.findLecturer(lecturer.getId());
if(TempLecturer!=null)
{
request.put("boolfirst", true);
request.put("TempLecturer", TempLecturer);
return "edcourse";
}
else
{
return "error";
}
}
return "error";
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
// logger.error("类名:"+this.getClass().getName()+
// "||方法名:"+Thread.currentThread().getStackTrace()[1].getMethodName()+
// "||错误信息:"+e.toString());
//输出错误信息到log4j产生的文件中
}
return "error";
}
能保证http://localhost:8080/xxxx/xxx/xxxxx/edcourse.jsp能走到xxxxx方法里面
如果lecturer.getId()不为空的话 能找到值 并且跳转到Struts2配置文件中result name 为edcourse的页面。、
但是lecturer.getId()为空的话 是不是跳转到Struts2配置文件中result name为error的页面。、
问题来了:lecturer.getId()为空的时候 刷新 不会跳转 会走一遍查找过程,不跳转到Struts2配置文件中result name为error的页面。而是在本页、
Why???难道Action只对.action的请求才会跳转么?
edcourse.jsp:<s:if test="#request.boolfirst==null">
<s:action name="xxx_xxxxx" namespace="/xxxxx"></s:action>
</s:if>
public String xxxxx(){
try {
if(lecturer.getId()!=null)
{
Lecturer TempLecturer= lecturerBiz.findLecturer(lecturer.getId());
if(TempLecturer!=null)
{
request.put("boolfirst", true);
request.put("TempLecturer", TempLecturer);
return "edcourse";
}
else
{
return "error";
}
}
return "error";
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
// logger.error("类名:"+this.getClass().getName()+
// "||方法名:"+Thread.currentThread().getStackTrace()[1].getMethodName()+
// "||错误信息:"+e.toString());
//输出错误信息到log4j产生的文件中
}
return "error";
}
能保证http://localhost:8080/xxxx/xxx/xxxxx/edcourse.jsp能走到xxxxx方法里面
如果lecturer.getId()不为空的话 能找到值 并且跳转到Struts2配置文件中result name 为edcourse的页面。、
但是lecturer.getId()为空的话 是不是跳转到Struts2配置文件中result name为error的页面。、
问题来了:lecturer.getId()为空的时候 刷新 不会跳转 会走一遍查找过程,不跳转到Struts2配置文件中result name为error的页面。而是在本页、
Why???难道Action只对.action的请求才会跳转么?
解决方案 »
- jquery ajax解析返回值的问题
- Head First Servlet JSP第13章响应过滤器疑问
- 求救:spring 的事务问题
- 小问题:apache-tomcat-6.0.16服务器上打开网页速度慢
- 初学Web Service,想问几个入门的问题,望解答!
- 一个tomcat 中部署了三个工程后总是OutOfMemoryError: PermGen space
- Myeclipse remove已添加项目时报错
- java考试,老师出了4个题目,兄弟姐妹们帮着做一下吧!(100高分跪求!!!)
- Jboss可以建立两个以上的数据源吗?
- ejb已经在服务器上配置好,请问,一个普通的java application如何访问它?
- 转义问题
- 深圳软通动力怎么样?
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
你配了action干嘛还要在页面内嵌代码
你还是把你了解的说出来吧
{ document.location.href="XX/XX/XX!XXX.action?id="+id;
alert("错误页面");
document.location.href="XX/XX/XXX!.action";}
在struts.xml配置<constant name="struts.action.extension" value="shtml" />
在web.xml配置
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>红色字体是你想要设置的action匹配的url扩展名