如图是index.jsp我简单的写了一个请求,就是到数据库中查询所有的用户的信息,然后返回到index.jsp页面上,但是在index.jsp页面上我无法接收到值。index.jsp<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>父页面</title>
</head><body>
<iframe src="user.jsp" style="margin-left: 500px;" name="main"
width="500px" height="200px"></iframe>
<iframe src="test.jsp"></iframe>
<s:debug/>
</body>
</html>
user.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>用户的页面---用来显示用户的信息</title>
</head><body>
这是用户的页面,在这里显示用户的信息。
<s:iterator value="users" var="user">
<s:property value="#user.userName" />
<s:property value="#user.passWord" />
</s:iterator>
<s:debug/>
</body>
</html>test.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<html>
<body>
这是一个用于测试的页面。
<form action="userAction_findUsers" method="post">
<input type="submit" value="提交" />
</form>
</body>
</html>userAction.java
package com.xumuye.action;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;import com.opensymphony.xwork2.ActionSupport;
import com.xumuye.bean.User;
import com.xumuye.service.UserService;@Controller
public class UserAction extends ActionSupport {
/**
 * 
 */
private static final long serialVersionUID = -3190817860600835920L; // ///////////////////////////////////////////////
// 成员变量/////////////////////////////////////
// 注入UserService
@Autowired
private UserService userService;
private List<User> users; public List<User> getUsers() {
return users;
} public void setUsers(List<User> users) {
this.users = users;
} public String findUsers() {
users = userService.findUsers();
return "findusers";
}
}userServiceImpl.java
package com.xumuye.dao.impl;import java.util.List;import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;import com.xumuye.bean.User;
import com.xumuye.dao.UserDao;@Repository
public class UserDaoImpl implements UserDao {
// 注入sessionFactory
@Autowired
private SessionFactory sessionFactory; @SuppressWarnings("unchecked")
@Override
public List<User> findUsers() {
return sessionFactory.getCurrentSession().createQuery("from User")
.list();
}
}还请高手详细的解释一下!!非诚勿扰!谢谢@@!StrutsJavaHTMLiframe

解决方案 »

  1.   


    struts.xml<?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd"><struts>
    <!--配置struts2的常量 -->
    <!-- 将struts2的Action交给spring实例化 -->
    <constant name="struts.objectFactory" value="spring" />
    <!--指定web应用的默认编码 -->
    <constant name="struts.i18n.encoding" value="UTF-8" />
    <!-- struts2支持动态方法调用 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <!-- struts2的开发模式,用于热部署 -->
    <constant name="struts.devMode" value="true" /> <package name="menuManager" namespace="/" extends="struts-default">
    <action name="*_*" class="{1}" method="{2}">
    <result name="findusers">/index.jsp</result>
    </action>
    </package>
    </struts>
      

  2.   

    楼主,这样子 不行的,iframe取不到,为什么在这里的src中不直接指定那个要调用的action呢???这又不是不可以
    <iframe src="action路径" style="margin-left: 500px;" name="main"        width="500px" height="200px"></iframe>
      

  3.   

    iframe是index.jsp内嵌的框架,所以你直接给index.jsp传当然不行了,定位不准确
      

  4.   

    1.把iframe的src改成之前到ACTION的url,那样最简单
    2.在子页面使用$.ready调用AJAX回去取数据吧,或者写在父页面隐藏域中,子页面通过JS的dom操作设值
      

  5.   

    你是不是把jsp放在了web-inf下面了。