请问用jsp写代码的话 判断是否为会员(可以不显示出,只判断看用什么价格),会员选中菜品后加入购物车中的价格是会员价price1,而非会员的是原价price。这段代码应该怎么实现呢?
1.用Navicat for mysql 建了表,user表中写了status:会员/非会员。
菜品表menus中定了price原价和price1会员价
-----想问:是在用户登录中就开始判断是否为会员还是直接在加入购物车的时候再判断呢?
在jsp中写的这段代码但不管什么身份都是获得会员价格 就不知道咋办了
<%
float sum1 = 0.0f;
int sum2 = 0;
List<ShoppingCart> shoppingcar = (List<ShoppingCart>) session.getAttribute("shoppingcar");
if (shoppingcar!= null) {
for (int i = 0; i < shoppingcar.size(); i++) {
ShoppingCart sc=shoppingcar.get(i);
sum1 = sum1+sc.getPrice()*sc.getSums();
sum2 = sum2 +sc.getSums();
%>
参考GPT和自己的思路:
首先,需要在用户登录时判断用户身份是否为会员,可以从session中获取用户信息,判断其status属性是否为会员,如果是,则将其标记为会员。
然后,在加入购物车时,需要判断当前用户是否为会员,如果是,则将菜品价格设置为会员价price1,如果不是,则设置为原价price。可以通过一个if语句来实现,如下所示:
if (isMember) { // isMember表示当前用户是否为会员
price = price1; // 如果是会员,则设置为会员价
} else {
price = price0; // 如果不是会员,则设置为原价
}
在上面的代码中,将isMember替换为实际的判断条件,price和price1替换为菜品的原价和会员价即可。
最后,在jsp中根据商品数量和价格计算总价时,需要使用上述代码中的price变量,而不是直接使用sc.getPrice()。参考以下代码:
sum1 = sum1 + (isMember ? sc.getPrice1() : sc.getPrice()) * sc.getSums();
链接跳转到show.jsp
<a href="/public/qiantai/jsp/show.jsp?id=<%=menus1.getId()%>" class="newslist_time2">
<%=menus1.getName()%>
</a>
是哪的问题呢