`
uule
  • 浏览: 6351895 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

GuestName处理方法

    博客分类:
  • JSP
 
阅读更多

主要考虑如何设计,如何实现,如何思考!

 

效果:


 

数据库:


 

Java代码:

List<Map<String,List<Hotelbookpaxdetail>>> groupRoomTypePaxList = new ArrayList<Map<String,List<Hotelbookpaxdetail>>>();
		int groupKey    = 0;

		for (Iterator iter1 = paxDetailsSet.iterator(); iter1.hasNext();) {
			Hotelbookpaxdetail pax = (Hotelbookpaxdetail) iter1.next();
			String roomtype = pax.getRoomtype().trim();
		
			int leadOrshare = pax.getLeadorshare();
			Map<String,List<Hotelbookpaxdetail>> roomtypepaxMap = null;
			if(leadOrshare == 1) {
				roomtypepaxMap = new HashMap<String,List<Hotelbookpaxdetail>>();
				List<Hotelbookpaxdetail> paxlist = new ArrayList<Hotelbookpaxdetail>();
				paxlist.add(pax);
				roomtypepaxMap.put(roomtype+groupKey, paxlist);
				groupRoomTypePaxList.add(roomtypepaxMap);
				groupKey ++;
				
			} else {
				for(Map<String,List<Hotelbookpaxdetail>> typeMap : groupRoomTypePaxList) {
					if(typeMap.get(roomtype+(groupKey-1)) != null) {
						List<Hotelbookpaxdetail> paxlist = typeMap.get(roomtype+(groupKey-1));
						paxlist.add(pax);
					}
				}
			}
			paxTotal++;
		}
		
		session.setAttribute("adminGroupRoomTypePaxList", groupRoomTypePaxList);

 

JSP页面:

<table width="80%" border="0" style="color: #0000FF;" cellpadding="0" cellspacing="0px" align="left">
<c:set var="roomPaxMap" value="null"></c:set>
<c:forEach items="${adminGroupRoomTypePaxList}" varStatus="paxMapList" var="paxMap">
	<c:forEach items="${paxMap}" var="pax">
	<tr>
		<c:choose>
			<c:when test="${fn:contains(pax.key,'SB')}">
				<c:set var="paxRoomType" value="SB${paxMapList.count}"></c:set>
				<td style="vertical-align: top;font-weight: bold;">${paxMapList.count}.Single</td>
			</c:when>
			<c:when test="${fn:contains(pax.key,'TB')}">
				<input type="hidden" name="extwione${pax.key}" id="extwione${pax.key}" value="${fn:length(pax.value) - 2 }"/>
				<c:set var="paxRoomType" value="TB${paxMapList.count}"></c:set>
				<td style="vertical-align: top;font-weight: bold;">${paxMapList.count}.Twin</td>
			</c:when>
			<c:when test="${fn:contains(pax.key,'DB')}">
				<input type="hidden" name="exdouone${pax.key}" id="exdouone${pax.key}" value="${fn:length(pax.value) - 2 }"/>
				<c:set var="paxRoomType" value="DB${paxMapList.count}"></c:set>
				<td style="vertical-align: top;font-weight: bold;">${paxMapList.count}.Double</td>
			</c:when>
			<c:when test="${fn:contains(pax.key,'TR')}">
				<c:set var="paxRoomType" value="TR${paxMapList.count}"></c:set>
				<td style="vertical-align: top;font-weight: bold;">${paxMapList.count}.Triple</td>
			</c:when>
			<c:when test="${fn:contains(pax.key,'Q')}">
				<c:set var="paxRoomType" value="Q${paxMapList.count}"></c:set>
				<td style="vertical-align: top;font-weight: bold;">${paxMapList.count}.Quad</td>
			</c:when>
			<c:when test="${fn:contains(pax.key,'TS')}">
				<c:set var="paxRoomType" value="TS${paxMapList.count}"></c:set>
				<td style="vertical-align: top;font-weight: bold;">${paxMapList.count}.Twin sole use</td>
			</c:when>
			<c:when test="${fn:contains(pax.key,'DS')}">
				<c:set var="paxRoomType" value="DS${paxMapList.count}"></c:set>
				<td style="vertical-align: top;font-weight: bold;">${paxMapList.count}.Double sole use</td>
			</c:when>
		</c:choose>
		<td style="vertical-align: top;">
		<table style="color: #0000FF;" border="0" width="80%" id="pax_table_${pax.key}">
			<c:forEach items="${pax.value}" var="Hotelbookpaxdetail" varStatus="paxIndex">
			<input type="hidden" name="roomPaxMapType" id="roomPaxMapType" value="${paxRoomType}" />
			<tr height="30">
				<td style="vertical-align: top;" width="25%">
					<c:choose>
						<c:when test="${Hotelbookpaxdetail.leadorshare == 1}">
							<input type="hidden" name="roomPaxMapLeadOrShare" id="roomPaxMapLeadOrShare" value="lead"/>
							lead&nbsp;&nbsp;
						</c:when>
						<c:when test="${Hotelbookpaxdetail.leadorshare == 0}">
							<input type="hidden" name="roomPaxMapLeadOrShare" id="roomPaxMapLeadOrShare" value="share"/>
							share
						</c:when>
						<c:when test="${Hotelbookpaxdetail.leadorshare == 2}">
							<input type="hidden" name="roomPaxMapLeadOrShare" id="roomPaxMapLeadOrShare" value="extra"/>
							extra
						</c:when>	
					</c:choose>
				</td>
				<td width="20%" style="vertical-align: top;">
					<select name="roomPaxMapGender" style="roomPaxMapGender" style="color:#0000FF;width:85px;">
						<option value="Mr." ${Hotelbookpaxdetail.gender eq 'Mr.' ? 'selected="selected"' : '' }>Mr.</option>
						<option value="Ms." ${Hotelbookpaxdetail.gender eq 'Ms.' ? 'selected="selected"' : '' }>Ms.</option>
						<option value="Mrs." ${Hotelbookpaxdetail.gender eq 'Mrs.' ? 'selected="selected"' : '' }>Mrs.</option>
						<option value="Mstr." ${Hotelbookpaxdetail.gender eq 'Mstr.' ? 'selected="selected"' : '' }>Mstr.</option>
						<option value="Mdm." ${Hotelbookpaxdetail.gender eq 'Mdm.' ? 'selected="selected"' : '' }>Mdm.</option>
						<option value="Inf." ${Hotelbookpaxdetail.gender eq 'Inf.' ? 'selected="selected"' : '' }>Inf.</option>
						<option value="Dr." ${Hotelbookpaxdetail.gender eq 'Dr.' ? 'selected="selected"' : '' }>Dr.</option>
						<option value="Mr. and Mrs." ${Hotelbookpaxdetail.gender eq 'Mr. and Mrs.' ? 'selected="selected"' : '' }>Mr. and Mrs.</option>
						<option value="Prof." ${Hotelbookpaxdetail.gender eq 'Prof.' ? 'selected="selected"' : '' }>Prof.</option>
						<option value="JP." ${Hotelbookpaxdetail.gender eq 'JP.' ? 'selected="selected"' : '' }>JP.</option>
						<option value="Datuk" ${Hotelbookpaxdetail.gender eq 'Datuk' ? 'selected="selected"' : '' }>Datuk.</option>
					</select>
				</td>
				
				<td style="vertical-align: top;">
					<input type="text" id="roomPaxMapSurname" name="roomPaxMapSurname" value="${Hotelbookpaxdetail.surname }" onchange="this.value = this.value.toUpperCase();" style="color:#0000FF;width:160px;"/>
				</td>
				<td style="vertical-align: top;">
					<input type="text" id="roomPaxMapGivenname" name="roomPaxMapGivenname" value="${Hotelbookpaxdetail.givenname }" style="color:#0000FF;width:160px;"/>
				</td>
				<td style="vertical-align: top;">
				<c:choose>
					<c:when test="${fn:contains(pax.key,'TB') && paxIndex.count == 2}">
						<span onclick="doAddTwinExbed('${pax.key}',${fn:length(pax.value)-2});" style="cursor:pointer;color:#0000FF;"></span>
					</c:when>
					<c:when test="${fn:contains(pax.key,'TB') && paxIndex.count > 2}">
						<span onclick="doDelTwinExbed('${pax.key}',${paxIndex.count-2 })" style="cursor:pointer;color:#0000FF;"></span>
					</c:when>
					<c:when test="${fn:contains(pax.key,'DB') && paxIndex.count == 2}">
						<span onclick="doAddDouExbed('${pax.key}',${fn:length(pax.value)-2});" style="cursor:pointer;color:#0000FF;"></span>
					</c:when>
					<c:when test="${fn:contains(pax.key,'DB') && paxIndex.count > 2}">
						<span onclick="doDelDouExbed('${pax.key}',${paxIndex.count-2 })" style="cursor:pointer;color:#0000FF;"></span>
					</c:when>
					<c:otherwise>
						<img src="../images/icon_mand.gif">
					</c:otherwise>
				</c:choose>
				</td>
			</tr>
			</c:forEach>
		</table>
		</td>
	</tr>
	</c:forEach>
</c:forEach>
</table>

 。。。

 

 

 

 

 

 

 

  • 大小: 10 KB
  • 大小: 10.3 KB
  • 大小: 9.4 KB
  • 大小: 9.7 KB
分享到:
评论

相关推荐

    1+x 证书 Web 前端开发中级——理论考试(试卷8 )答案.docx

    知识点:PHP 字符串处理函数 str_replace 的使用方法。 2. 在 canvas 中,drawImage() 方法用于绘制图片。 知识点:HTML5 canvas 元素的绘图方法 drawImage()。 3. PHP 中,$_SESSION 用于存储用户会话信息。 ...

    java酒店管理代码.doc

    - `out`方法处理退房操作,检查房间是否为空,如果非空则将房间状态置为空,否则提示房间无人入住。 ```java private static void out(String[][] rooms, int roomid) { // 检查房间状态,进行退房操作 } ``` ...

    C#三层架构

    - **业务逻辑层接口**(例如`IBLL`):定义了处理业务逻辑的方法签名。 - **数据访问层接口**(例如`IDAL`):定义了与数据库交互的方法签名。 通过这种方式,可以在不改变接口的情况下更换不同的实现,提高了系统...

    用javascript实现记录来宾姓名的代码

    3. **错误处理**: - 在用户输入无效的情况下提供更友好的提示信息。 - 示例代码如下: ```javascript if (guestName.trim() === '') { alert('姓名不能为空,请重新输入!'); return; } ``` 通过上述步骤...

    libvirt-test-API

    模板中包含了必要的参数定义、函数调用以及错误处理机制。 ```python #!/usr/bin/env python from src import sharedmod # 必需的参数 required_params = ('guestname',) # 可选参数 optional_params = {'vcpu': 1,...

    java 控制台下酒店管理

    主程序通过一个循环不断接收用户的输入,并根据输入的命令调用相应的处理函数。为了接收用户的输入,程序使用了 `java.util.Scanner` 类。 ```java Scanner sca = new Scanner(System.in); do { System.out.print...

    1+XWeb前端开发职业技能等级证书模拟题(中级).pdf

    弹性布局(Flexbox)是CSS3的一个模块,用于处理容器内元素的布局。`justify-content`属性用于控制弹性元素在主轴上的对齐方式,`flex-start`值表示元素将对齐到容器的起始位置。 媒体查询(Media Queries)是响应...

    一张linux的试卷(简单的).docx

    7. 使用`rpm -qa | grep vsftpd`确实可以检查系统是否已安装vsftpd,这是一个验证软件包是否存在的有效方法。 8. 在vi编辑器中,如果想退出编辑器,应该在文本模式下输入`:q!`(强制退出)或`:wq`(保存并退出),仅...

    net 分层架构实战

    - **业务逻辑层 (Business Logic Layer)**:实现核心业务逻辑,处理业务规则和流程。 - **数据访问层 (Data Access Layer)**:与数据库交互,执行数据读取和写入操作。 - **设计理念**: - **松耦合**:确保各层...

    js代码-ES6 函数的扩展 -函数参数的默认值 -与解构赋值默认值结合使用

    其中,函数参数的默认值和解构赋值默认值是两个非常实用的功能,它们可以有效地解决传统JavaScript中处理未定义参数和对象属性的繁琐问题。在本篇文章中,我们将深入探讨这两个特性以及它们如何结合使用。 一、函数...

    爱迪尔接口文档

    int NewKey(char* room, char* gate, char* stime, char* guestname, char* guestid, int overflag, long* cardno, char* track1, char* track2); ``` **参数说明:** - `room` [in]: 房号,6字节字符串,必须是...

    2022-数据库原理与设计-期中试卷1

    SELECT Hotel.hotelNo, Hotel.hotelName, Room.roomNo, Room.price, Booking.guestNo, Guest.guestName, Booking.dateFrom, Booking.dateTo FROM Hotel JOIN Room ON Hotel.hotelNo = Room.hotelNo JOIN Booking ...

    extjs中利用htmleditor与第三方打印插件Lodop结合使用WEB打印功能

    P_guestName: S_PrintView.getForm().findField('P_guestName').getValue(), P_OutNum: S_PrintView.getForm().findField('P_OutNum').getValue(), P_SNum: S_PrintView.getForm().findField('P_SNum').getValue...

Global site tag (gtag.js) - Google Analytics