Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么这些值不是在JSP中显示,而是在控制台中打印?当我尝试打印时,会话也是空的。还有那个NPE_Java_Jsp - Fatal编程技术网

Java 为什么这些值不是在JSP中显示,而是在控制台中打印?当我尝试打印时,会话也是空的。还有那个NPE

Java 为什么这些值不是在JSP中显示,而是在控制台中打印?当我尝试打印时,会话也是空的。还有那个NPE,java,jsp,Java,Jsp,DAO类: package com.sheeba.joshua; import java.io.Serializable; import org.hibernate.Session; import org.hibernate.Transaction; import com.googlecode.s2hibernate.struts2.plugin.annotations.SessionTarget; import com.googlecode.s2hibernate.struts2.plu

DAO类:

package com.sheeba.joshua;

import java.io.Serializable;

import org.hibernate.Session;
import org.hibernate.Transaction;

import com.googlecode.s2hibernate.struts2.plugin.annotations.SessionTarget;
import com.googlecode.s2hibernate.struts2.plugin.annotations.TransactionTarget;

public class leaveDAO {
DB_LEAVE modobj=new DB_LEAVE();
@SessionTarget
Session session;
@TransactionTarget

Transaction t;
    public String saveDetails(DB_LEAVE modobj){
        System.out.println("inside DAO , before query");
        int i=0;
        System.out.println("name" +modobj.getBank_id());
        System.out.println("session"+session);
        Serializable s=session.save(modobj);
        System.out.println("i" +i);

        System.out.println("inside DAO , after query");
        return "SUCCESS";
    }

}
服务类别:

package com.sheeba.joshua;

import org.apache.struts2.convention.annotation.InterceptorRef;
import org.apache.struts2.convention.annotation.ParentPackage;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;


@ParentPackage("hibernate-default")
@InterceptorRef("basicStackHibernate")
public class leaveService   implements ModelDriven{
    leaveDAO daoobj=new leaveDAO();

DB_LEAVE moddriven=new DB_LEAVE();

public String test(){
    return"success";
}

public String saveDetService(){

    System.out.println("service entry point");
    return daoobj.saveDetails(moddriven); 

    //return SUCCESS; 

    }

@Override
public Object getModel() {

    return moddriven;
}

}
行动:

package com.sheeba.joshua;

import com.opensymphony.xwork2.ActionSupport;                                                                

public class leaveAction {
    public String bank_id;
    public String emp_name;
    public String leaves;
    public String getBank_id() {
        return bank_id;
    }
    public void setBank_id(String bank_id) {
        this.bank_id = bank_id;
    }
    public String getEmp_name() {
        return emp_name;
    }
    public void setEmp_name(String emp_name) {
        this.emp_name = emp_name;
    }
    public String getLeaves() {
        return leaves;
    }
    public void setLeaves(String leaves) {
        this.leaves = leaves;
    }

//  public String execute(){
        //return SUCCESS;
    //}

}
struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration
2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="default" extends="json-default,hibernate-default" namespace="/">
<!-- <action name="fetchBankId" class="com.action.proj.Service" method="fetchBankId">
<result type="json"></result>
</action> -->
<!-- <action name="saveAction" class="com.sheeba.joshua.leaveService" method="test">
<result name="success">/welcome.jsp</result>
</action> -->


<action name="saveAction" class="com.sheeba.joshua.leaveService" method="saveDetService">
<result name="SUCCESS">/welcome.jsp</result>
</action>



</package>
</struts>
index.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="s" uri="/struts-tags"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h3>INDEX PAGE FOR LEAVE PLAN</h3>

<s:form action="saveAction">
<s:textfield name="bank_id" label="BANKID"></s:textfield>
<s:textfield name="emp_name" label="EMPNAME"></s:textfield>
<s:textfield name="leaves" label="LEAVES_APPLIED"></s:textfield>
<s:submit value="save"></s:submit>
</s:form>
</body>
</html>

在此处插入标题
休假计划索引页
hibernate.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>

        <!-- connection details -->
        <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
        <property name="hibernate.connection.username">scott</property>
        <property name="hibernate.connection.password">sheeba90</property>
        <property name="show_sql">true</property>
        <mapping class="com.sheeba.joshua.DB_LEAVE"/>

    </session-factory>
</hibernate-configuration>

org.hibernate.dialen.oracle10galent
oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:@localhost:1521:orcl
斯科特
绵羊90
符合事实的

这些值正在控制台中打印,但没有在JSP视图中打印。它正在从数据库中检索数据,但不显示数据。请有人告诉我我的代码有什么问题。

在您的离开操作中,您必须使用离开服务来初始化execute方法中的列表
myList

import com.opensymphony.xwork2.ActionSupport;     
import java.util.*;

public class leaveAction extends ActionSupport{
    public String bank_id;
    public String emp_name;
    public String leaves;
    private List<DB_LEAVE> myList = new ArrayList<DB_LEAVE>();



    public List<DB_LEAVE> getMyList() {
        return myList;
    }
    public void setMyList(List<DB_LEAVE> myList) {
        this.myList = myList;
    }
    public String getBank_id() {
        return bank_id;
    }
    public void setBank_id(String bank_id) {
        this.bank_id = bank_id;
    }
    public String getEmp_name() {
        return emp_name;
    }
    public void setEmp_name(String emp_name) {
        this.emp_name = emp_name;
    }
    public String getLeaves() {
        return leaves;
    }
    public void setLeaves(String leaves) {
        this.leaves = leaves;
    }

    public String execute(){
        myList = new leaveService().retreiveData();
        return SUCCESS;
    }

}
import com.opensymphony.xwork2.ActionSupport;
导入java.util.*;
公共集体诉讼扩展了行动支持{
公共字符串银行标识;
公共字符串emp_name;
公共弦叶;
private List myList=new ArrayList();
公共列表getMyList(){
返回myList;
}
公共void setMyList(列表myList){
this.myList=myList;
}
公共字符串getBank_id(){
返回银行标识;
}
公共无效银行id(字符串银行id){
this.bank\u id=bank\u id;
}
公共字符串getEmp_name(){
返回emp_名称;
}
public void setEmp_name(字符串emp_name){
this.emp_name=emp_name;
}
公共字符串getLeaves(){
还叶;
}
公共void setLeaves(字符串leaves){
这个。叶子=叶子;
}
公共字符串execute(){
myList=new leaveService().retreiveData();
回归成功;
}
}
使方法retreiveData on leaveService返回DB_LEAVE的列表

public List<DB_LEAVE> retreiveData(){
    System.out.println("entry point retreive data");
    //daoobj.retreiveFromDAO();
    //System.out.println( daoobj.retreiveFromDAO().toString());
    System.out.println("after retreiving ");

    return daoobj.retreiveFromDAO();
}
公共列表检索数据(){
System.out.println(“入口点检索数据”);
//daoobj.retreiveFromDAO();
//System.out.println(daoobj.retreiveFromDAO().toString());
System.out.println(“检索后”);
返回daoobj.retreiveFromDAO();
}
import com.opensymphony.xwork2.ActionSupport;     
import java.util.*;

public class leaveAction extends ActionSupport{
    public String bank_id;
    public String emp_name;
    public String leaves;
    private List<DB_LEAVE> myList = new ArrayList<DB_LEAVE>();



    public List<DB_LEAVE> getMyList() {
        return myList;
    }
    public void setMyList(List<DB_LEAVE> myList) {
        this.myList = myList;
    }
    public String getBank_id() {
        return bank_id;
    }
    public void setBank_id(String bank_id) {
        this.bank_id = bank_id;
    }
    public String getEmp_name() {
        return emp_name;
    }
    public void setEmp_name(String emp_name) {
        this.emp_name = emp_name;
    }
    public String getLeaves() {
        return leaves;
    }
    public void setLeaves(String leaves) {
        this.leaves = leaves;
    }

    public String execute(){
        myList = new leaveService().retreiveData();
        return SUCCESS;
    }

}
public List<DB_LEAVE> retreiveData(){
    System.out.println("entry point retreive data");
    //daoobj.retreiveFromDAO();
    //System.out.println( daoobj.retreiveFromDAO().toString());
    System.out.println("after retreiving ");

    return daoobj.retreiveFromDAO();
}