首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

头大的有关问题?

2012-09-16 
头大的问题?高手请进……public class SubItemAction extends ActionSupport{private int id private SubIt

头大的问题?高手请进……

public class SubItemAction extends ActionSupport{
private int id ;
private SubItem subItem ;
private String manager ;
private SubItemManager subItemManager ;
private String subName ;
private Item item ;
private String subDescription ; 

private List<Item> items ;
//版主
private User user ;


//添加子栏目
public String addSubItem(){
user.setName(manager);  

//查找父栏目
item = itemManager.find(id);
subItem.setItem(item);
subItem.setManager(user);
subItem.setSubItemName(subName);
subItem.setSubItemDescription(subDescription);

//添加子栏目
boolean bool = subItemManager.add(subItem);
if(bool){
return "success";
}else{
return "fail" ;
}
}
//添加子栏目页面
public String addSubItemInput(){
items = itemManager.browse();
return "input";
}

public String getSubName() {
return subName;
}

public void setSubName(String subName) {
this.subName = subName;
}

public String getSubDescription() {
return subDescription;
}

public void setSubDescription(String subDescription) {
this.subDescription = subDescription;
}
}

struts.xml配置:
 <action name="subItem" class ="com.bbs.action.SubItemAction" method="{1}">
  <result name="input">  
  /jsp/admin/subItem-input.jsp
  </result>
  <result name="success">  
  /jsp/admin/subItem-success.jsp
  </result>
  <result name="fail">  
  /jsp/admin/subItem-fail.jsp
  </result>
  </action>

public class SubItemManager {
//增加子栏目
public boolean add(SubItem subItem){
String subItemName = subItem.getSubItemName();
//查找子栏目
SubItem sub = subItemDAO.find(subItemName);
if(sub == null){
//查找用记
User user = userDAO.exist(subItem.getManager().getName());
if(user != null){
//设为版主
subItem.setManager(user);
//添加子栏目
subItemDAO.add(subItem);
return true ;
}
return false ;
}else{
return false ;
}
}
}

public classs SubItemDAO {
private HibernateTemplate hibernateTemplate ;

//增加子栏目
public void add(SubItem subItem){
hibernateTemplate.save(subItem);
}

//以名字方式查找子栏目
public SubItem find(String subItemName){
List<SubItem>items = hibernateTemplate.find("from SubItem where subItemName=?",subItemName);
if(items.size() > 0){
return items.get(0);
}else {
return null ;
}
}
}

subItem-input.jsp页面代码:
<%@ page language = "java" import = "java.util.*" pageEncoding ="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<form action="subItem-addSubItem">
<table width="468" border="1" align="center">
<tr>
 
  <td colspan="2" align="center">新增子栏目</td>


  </tr>
  <tr>
  <td width="118">子栏目名称:</td>
<td width="334"><input type="text" name="subName"></td>
  </tr>
  <tr>
  <td width="118">所属栏目:</td>
<td width="334">
  <select name="id">
  <s:iterator value="items" var="it">
  <option value="${it.id}">${it.itemName}</option>
  </s:iterator>
  </select>
  </td>
  <tr>
  <td>子栏目介绍:</td>
  <td><input name="subDescription" type="text" size="50"></td>
  </tr>
  <tr>
  <td>子栏目版主:</td>
  <td><input name="manager" type="text"></td>
  </tr>
  <tr>
  <td>&nbsp;</td>
<td><input type="submit" value="提交">
<input type="reset" value="重置"> </td>
  </tr>
</table>
</form>
<s:debug></s:debug>

</body>
</html>

subItem-success.jsp页面代码:
<%@ page language = "java" import = "java.util.*" pageEncoding ="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>添加子栏目成功!</title>
</head>
<body>
${subName}
添加子栏目成功!
<form action="subitem-addSubItem">
<input type="submit" value="返回"/>
</form>

</body>
</html>

subItem-fail.jsp页面代码:
<%@ page language = "java" import = "java.util.*" pageEncoding ="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>添加子栏目成功!</title>
</head>
<body>
添加子栏目失败!
<form action="subItem-addSubItemInput">
<input type="submit" value="返回"/>
</form>

<s:debug></s:debug>
</body>
</html>

现在怪事出现了?在“SubItemAction” 类中有“subItem.setSubItemName(subName);
subItem.setSubItemDescription(subDescription);”,就会跳转到“subItem-fail.jsp”页面,
没有上面的语句就跳转到“subItem-success.jsp”页面。
我想知道这是为什么?难道还不能让人设置subItem的属性??

[解决办法]
跟那没关系。

boolean bool = subItemManager.add(subItem);
看bool的返回值,返回值为true,就跳转到subItem-success.jsp;否则跳转到subItem-fail.jsp。

楼主看subItemManager的add方法吧,如果没有subItem.setSubItemName(subName) 这句,是不是造成方法返回值是false了;

热点排行