`
uule
  • 浏览: 6323871 次
  • 性别: 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) { // 检查房间状态,进行退房操作 } ``` ...

    爱迪尔门锁系统接口函数(SDK)说明

    本文档提供了爱迪尔门锁系统接口函数(SDK)的详细说明,包括门锁函数、_Init 初始化、EndSession 结束工作期、IssueCard 发行客人卡、ReadCard 读卡、EraseCard 注销卡等多个函数的使用方法和参数解释。 一、门锁...

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

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

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

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

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

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

    linux操作系统复习资料.pdf

    3. SQL语句`CREATE TABLE gb (Guestname CHAR(12) NOT NULL, Email CHAR(40), siteurl CHAR(80), content TEXT, id INT AUTO_INCREMENT PRIMARY KEY);`创建了一个名为gb的数据库表,包含Guestname、Email、siteurl、...

    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...

    婚礼

    在处理婚礼这样的主题时,Pug可以帮助开发者高效地组织和构建网页布局。比如,可以创建一个模板来定义婚礼邀请函的基本结构: ```pug doctype html html head title 婚礼邀请 link(rel='stylesheet', href='/...

    sign-up-form

    package.json public/ index.html favicon.ico src/ App.css App.js App.test.js Guest.js GuestEmail.js GuestName.js GuestPhone.js index.css index.html index.js logo.png...

    1+-X认证Web前端开发模拟卷11.docx

    MySQL命令Create table的作用是建立一个名为gb的数据库表,其中包含GuestName、Email、siteurl、content、id等字段。 八、弹性盒子元素的对齐方式 使用justify-content属性可以设置弹性盒子元素的对齐方式,其中...

    数据库文档

    - **GuestInfo**(宾客入住表):包含了宾客的入住信息,如入住编号(GuestNo,主键)、房间号(RoomNo,外键)、宾客姓名(GuestName)、性别(GuestSex)、入住天数(StayDay)、证件类型(ZjianID,外键)、证件...

Global site tag (gtag.js) - Google Analytics