当前位置:编程学习 > JAVA >>

请教SSI架构下按下查询按钮,进行按人和日期查询时遇到的问题!

页面上员工下拉列表框,日期,查询按钮的代码
        
<table width="80%" border="1" cellspacing="0" cellpadding="0 ">
      <tr>
        <td class="info_left"><strong style="color: #FFF">人员:</strong></td>
        <td><select name="jixiaosum.staffid" class="info_select" id="sumUserId">
            <s:iterator value="#session.users" id="users">
              <option value=<s:property value="userId" />><s:property value="username" />
               
              </option>
            </s:iterator>
          </select></td>
          
      </tr>
      <tr>
      <td class="info_left"><strong style="color: #FFF">汇总时间:</strong></td>
<td><input id="sumTime" name="jixiaosum.sumTime" class="info_input Wdate"
readonly="readonly" onclick="WdatePicker()" type="text"
value="<%=str_date1%>" My97Mark="false" /></td>
      </tr>
      <tr>
      <td></td>
      <td class="info_left">
      <input class="info_button" type="button" value="查询" id="btnSearch" 
       onclick="selectMissions();"/>
      </td>
      </tr>
    </table>


压下按钮后调用searchMissions方法

function selectMissions() {
var sumUserid = "";
sumUserid=document.getElementsByName("sumUserId")[0].value;
var sumTime = "";
sumTime=document.getElementsByName("sumTime")[0].value;
//alert(sumUserid);
document.forms["jxhzExportExcel"].action = "mission_searchMissions";
document.forms["jxhzExportExcel"].submit();
}

action中的searchMissions方法

public String searchMissions() {
// TODO this way is the same as missions del
System.out.print("----searchMissions begin----");
Map map = new HashMap();
if (StringUtils.isNotEmpty(jixiaosum.getStaffId())) {
map.put("jixiaosum", jixiaosum);
} else {
map.put("jixiaosum", null);
}
Pages<Mission> pages = new Pages<Mission>();
pages.setCurreRow(this.pagesize);// 设置每页显示多少行
Integer countRow = missionService.searchMissionCount(map);
pages.setCountRow(countRow);
if (currePage == 0) {
currePage = 1;
}
pages.setCurrePage(currePage);

Map session = ServletActionContext.getContext().getSession();
List<Mission> jixiaohuizongMissions = new ArrayList<Mission>();
List<String> khzbNames = new ArrayList<String>();

// 设置分页参数
// 从第几行数据开始 起始是0,也就是 12,就是12+1,第13行取数据
// 往下走几行数据
int pageIndex = 0;
if (this.currePage > 1) {
pageIndex = (this.getCurrePage() - 1) * this.getPagesize();
}
RowBounds rowBounds = new RowBounds(pageIndex, this.getPagesize());

jixiaohuizongMissions = missionService.searchMissions(jixiaosum,
rowBounds);

return "searchMissionsResult";
}


请教如何实现压下按钮,按条件查询,多谢! 架构 ssi --------------------编程问答-------------------- 你会调试js代码吗?你的js代码我看了一下,以我的理解是不可能得到你想要的数据的。
如何获得select 控件的值
而且我到没有看到你有form表单,你居然提交了,也有可能是我孤陋寡闻了。jxhzExportExcel这个东西 你在哪里找到的 我也不明白,如果你这是抄的 ,就不要拿出来问了。 --------------------编程问答-------------------- js没有问题,
alert(sumUserid);==》1
alert(sumTime);==》"2013-10-10"

我希望把这两个参数传到后台,如果用2个string向后传,在ibatis的配置文件mission.xml中调用这个的sql文的参数应该如何写?

<select id="searchMissions" resultMap="missionResult" parameterType="java.util.Map">
select * from mission where staffId = #{staffId} and  endday= #{endDay}
</select>

或者放到一个对象中,这样又是如何写的?
这两个方向都没头绪,请了解的指点一下,谢谢! --------------------编程问答-------------------- 因为你是吧数据封装到对象里面的,所以需要通过#{jixiaosum.staffid}这种方式吧 --------------------编程问答-------------------- 要么你就把需要的数据直接放到map中  map.put("staffId", ...)这样 --------------------编程问答-------------------- 可以把参数放到bean里面,然后xml配置好 --------------------编程问答-------------------- 我看到网上有帖子可以直接在sql文中增加,感觉可以。
我原来有一个参数的查询,没有问题,

Integer countRow = ((List<Mission>) missionService.selectMissionByStaffId(sumStaffId, null)).size();
<select id="findMissionByStaffId" resultMap="missionResult"
parameterType="String">
select * from mission where staffId = #{staffId}
<select>

我参考这个进行了修改

Integer countRow = ((List<Mission>) missionService.selectMissionByStaffId(sumStaffId + " AND 1=1", null)).size();
<select id="findMissionByStaffId" resultMap="missionResult"
parameterType="String">
select * from mission where staffId = #{staffId}
<select>


前者可以得到两条数据,后者多了 + " AND 1=1" ,
但是确不能得到数据
--------------------编程问答-------------------- 用ajax........ --------------------编程问答-------------------- 传递对象参数,已经好用了!多谢!

现在的问题是,从后台返回数据的时候,前台上的查询条件:
用户选择的下拉列表和时间控件的初始值,都没有了。
后台:

……
session.put("sumStaffId", sumStaffId);
session.put("sumTime", sumTime);
……

前台:

……
<tr>
        <td class="info_left"><strong style="color: #FFF">人员:</strong></td>        
        <td><select name="sumStaffId" class="info_select">
            <s:iterator value="#session.users" id="users">
              <option value=<s:property value="userId" />><s:property value="username" />
               
              </option>
            </s:iterator>
          </select></td>
          
      </tr>
      <tr>
      <td class="info_left"><strong style="color: #FFF">汇总时间:</strong></td>
<td><input name="sumTime" class="info_input Wdate"
readonly="readonly" onclick="WdatePicker()" type="text"
value="<%=sumTime%>" My97Mark="false"  /></td>
      </tr>
……
--------------------编程问答-------------------- 请问这个现象是什么问题?如何修改?
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,