Struts2有些情况下需要在jsp中嵌套调用action执行的结果
2012-11-21 12:28
309 查看
Struts2有些情况下需要在jsp中嵌套调用action执行的结果
1.NewsAction类
2.struts2中action跳转页面(news.jsp)
3.jsp使用struts2的action标签调用action的页面(test.jsp)
4.常见错误:
[org.apache.struts2.components.ActionComponent]Could not execute action: /newsList
There is no Action mapped for action name newsList. - [unknown location]
问题原因:Namespace没有指定。
5.浏览器最后正常显示结果:
6.加入jstl c:if 标签(注意且与或的区别)
7.浏览器效果预览:
1.NewsAction类
package com.mingda.action; import java.util.Date; import java.util.List; import java.util.UUID; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.springframework.beans.factory.annotation.Autowired; import com.mingda.entity.News; import com.mingda.service.NewsService; @ParentPackage("struts-default") @Namespace("/") public class NewsAction { private NewsService newsService; private List<News> newses; public List<News> getNewses() { return newses; } public void setNewses(List<News> newses) { this.newses = newses; } public NewsService getNewsService() { return newsService; } @Autowired public void setNewsService(NewsService newsService) { this.newsService = newsService; } @Action(value = "newsSave", results = { @Result(name = "success", location = "/news.jsp") }) public String save() { News news = new News(); news.setId(UUID.randomUUID().toString()); news.setTitle("我爱你"); news.setContent("我稻草打飞机卡拉电视剧考虑ffffffff!"); news.setCreateTime(new Date()); newsService.save(news); return "success"; } @Action(value = "newsList", results = { @Result(name = "success", location = "/news.jsp") }) public String list() { List<News> newses=newsService.listNews(); setNewses(newses); return "success"; } }
2.struts2中action跳转页面(news.jsp)
<%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <c:forEach items="${newses}" var="news"> <ul style="width:410px;" class="list fl"> <li><span class="fr"><fmt:formatDate value="${news.createTime}" type="date" pattern="yyyy-MM-dd"/></span><a href="news/252825.shtml"><c:out value="${news.title}"/></a></li> </ul> </c:forEach>
3.jsp使用struts2的action标签调用action的页面(test.jsp)
<%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="s" uri="/struts-tags"%> 新闻测试 <br /> <s:action name="newsList" namespace="/" executeResult="true"/>
4.常见错误:
[org.apache.struts2.components.ActionComponent]Could not execute action: /newsList
There is no Action mapped for action name newsList. - [unknown location]
问题原因:Namespace没有指定。
5.浏览器最后正常显示结果:
6.加入jstl c:if 标签(注意且与或的区别)
<%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <div class="con clearself"> <c:forEach items="${newses}" var="news" varStatus="index"> <c:if test="${index.index==0}"> <ul style="width:410px;" class="list fl"> </c:if> <c:if test="${(index.index%3==0) and (index.index!=0)}"> <ul style="width:410px; margin-left:50px; padding-left:50px; border-left:1px solid #e6e5e5;" class="list fl"> </c:if> <li><span class="fr"><fmt:formatDate value="${news.createTime}" type="date" pattern="yyyy-MM-dd"/></span><a href="${news.href}"><c:out value="${news.title}"/></a></li> <c:if test="${index.index%3==2||(fn:length(newses)-1==index.index)}"> </ul> </c:if> </c:forEach> </div>
7.浏览器效果预览:
相关文章推荐
- Struts2中使用PreResultListener来查看action与jsp执行
- spring mvc框架整个执行过程,从输入http url,到action映射,再到action处理,返回jsp文件,解析jsp文件,然后渲染, 到返回给浏览器展示结果
- Struts2 Action中调用get***命名方法,并且返回json,执行出错
- 使用JSP/JAVA 调用java.exe执行某个路径下面的class文件,并显示出结果
- Struts2之动态方法调用(优点:调用同一个action中的多个方法不需要在配置文件中写多个指向相同action类的的action节点只需要一个action节点就行)
- Struts2标签中调用action中的方法执行hql语句的错误
- Struts2 结果视图是另一个Action的情况的配置方式
- jsp页面:js方法里嵌套java代码(是操作数据库的),如果这个js 方法没被调用,当jsp页面被解析的时候,不管这个js方法有没有被调用这段java代码都会被执行?
- Ext调用Struts2执行某个Action时,Action对异常未进行捕获,Ext再请求这个Action的其他方法时也报同样的异常
- Struts2 ognl调用action有参数的方法
- jsp页面通过 request对象直接获取 struts2 Action的变量的值。
- java执行DOS命令或bat脚本需要等命令执行完有返回值(process.waitFor();)阻塞情况解决方法
- Struts2中,action配置文件中两个action带参数的调用
- jsp如何获取struts2 action中返回的对象的值
- struts2中多个逻辑action(方法)的动态调用
- Struts2中 JSP使用request.setAttribute()后,在Action中为什么取不到值?
- Struts2 -- Jsp取action List及数据映射
- html链接中调用struts2中的Action方法
- 如何在struts2的action返回结果之后再来进行费时的数据库操作呢?
- jsp调用Action弹出下载框的可能性分析