`

使用cookie保存皮肤

阅读更多

下面是使用cookie保存皮肤的代码:

backbean:

@Scope(SESSION)
@Name("skinBean")
public class SkinBean {

 private String skin = "blueSky";

 
 public String getSkin() {      
  HttpServletRequest httpServletRequest = (HttpServletRequest) FacesContext
    .getCurrentInstance().getExternalContext().getRequest();
  Cookie[] cookies = httpServletRequest.getCookies();
  if (cookies != null) {
   for (int i = 0; i < cookies.length; i++) {
    if (cookies[i].getName().equalsIgnoreCase("skin")) {
     this.skin = cookies[i].getValue();

break;//只取得最后选择的皮肤
    }
   }
  } 
  return skin;
 }

 

 

 public void setSkin(String skin) {
  this.skin = skin;  
  HttpServletResponse httpServletResponse = (HttpServletResponse) FacesContext
    .getCurrentInstance().getExternalContext().getResponse();
  Cookie cookie = new Cookie("skin", skin);
  cookie.setMaxAge(365);
  cookie.setComment("Richfaces skin");
  httpServletResponse.addCookie(cookie);
 
 }
 public void skinChangeListener(ActionEvent event){
  //HtmlSelectOneMenu ss = (HtmlSelectOneMenu) event.getComponent().findComponent("selectSkin");
  //String selected=ss.getValue().toString();
  //this.skin=selected;
 
 }

 

 

skin.xhtml

 

 

 

<h:selectOneMenu id="selectSkin" value="#{skinBean.skin}">
   <f:selectItem itemLabel="Wfw" itemValue="WfwSkin" />
   <f:selectItem itemLabel="Plain" itemValue="plain" />
   <f:selectItem itemLabel="EmeraldTown" itemValue="emeraldTown" />
   <f:selectItem itemLabel="BlueSky" itemValue="blueSky" />
   <f:selectItem itemLabel="Wine" itemValue="wine" />
   <f:selectItem itemLabel="JapanCherry" itemValue="japanCherry" />
   <f:selectItem itemLabel="Ruby" itemValue="ruby" />
   <f:selectItem itemLabel="Classic" itemValue="classic" />
   <f:selectItem itemLabel="DeepMarine" itemValue="deepMarine" />
   <a4j:support event="onchange" limitToList="true" actionListener="#{skinBean.skinChangeListener}" oncomplete="

window.location.href=window.location.href;

//window.location.reload(true);"
    reRender="selectSkin" ajaxSingle="true">
   </a4j:support>
  </h:selectOneMenu>
 

 

注意:因为request和response不同步的原因,所以必须让页面刷新一次

分享到:
评论

相关推荐

    jQuery切换网页皮肤并保存到Cookie示例代码

    3. **Cookie使用**:在示例代码中使用了jQuery的cookie插件来保存用户的皮肤设置。当用户选择一种皮肤时,这个选择会被保存在cookie中,并且当用户重新打开页面时,这个皮肤设置会被读取并应用。 4. **页面无刷新...

    实时切换css风格、皮肤并保存

    总结来说,实现"实时切换CSS风格、皮肤并保存"的功能,需要对CSS和JavaScript有深入的理解,能够有效地管理外部样式表,使用cookie持久化用户的选择,以及编写适当的JavaScript代码来处理这些操作。这不仅提高了用户...

    利用jquery.cookie.js来更换网站的皮肤

    这篇文章将详细介绍如何使用 `jquery.cookie.js` 实现网站皮肤的切换功能。 首先,你需要引入 jQuery 库和 `jquery.cookie.js` 插件到你的 HTML 页面中。通常,这些文件可以从 CDN(内容分发网络)上获取,或者将其...

    简洁 牛贰佰 皮肤可记入COOKIE

    【简洁 牛贰佰 皮肤可记入COOKIE】是一个针对网站界面设计的资源包,它强调的是简洁风格和用户友好的体验。"牛贰佰"可能是这个皮肤的设计者或者...同时,了解如何利用Cookie保存用户偏好也是提升网站互动性的重要技能。

    jQuery实现网站换肤功能--带cookie默认为后点击后的颜色

    // 使用jQuery Cookie插件保存皮肤选择 $.cookie('currentSkin', skin, { expires: 365, path: '/' }); // 过期时间为365天 } }); ``` 4. **jQuery Cookie插件** 上述代码中,我们使用了jQuery的Cookie插件来...

    jquery实现换肤带cookie

    总结来说,"jquery实现换肤带cookie"是指使用jQuery库处理DOM和事件,通过切换CSS文件实现界面换肤,同时借助cookie技术保存用户的皮肤选择,提供持久化的个性化体验。这个过程涉及到前端开发的多个方面,包括CSS...

    Ext-Js更换皮肤

    2. **在当前浏览器更换皮肤并保存到Cookie**: 为了实现皮肤设置的持久化,可以将用户选择的皮肤存储在Cookie中。当用户下次访问应用时,可以读取Cookie中的信息,自动加载上次选择的皮肤。在示例代码中,当用户...

    Easyui更换皮肤使用方法

    这个函数会更新当前页面以及所有子 iframe 中的皮肤 CSS 文件链接,同时设置 Cookie 保存用户的皮肤选择,代码如下: ```javascript changeTheme = function(themeName) { var $easyuiTheme = $('#easyuiTheme');...

    jQuery+Cookie实现切换皮肤功能【附源码下载】

    // 保存皮肤样式的id到cookie中 } ``` 在这个函数中,我们首先为被点击的皮肤添加一个`selected`类,同时移除其他皮肤的`selected`类,使得页面上仅显示当前选中的皮肤。然后,我们更新了`&lt;link&gt;`标签的`href`属性...

    jQueryChangeSkin 换肤 支持cookie 不用调用所有样式

    jQueryChangeSkin是一款基于jQuery库开发的皮肤切换插件,它主要功能是实现网站用户界面的动态换肤,同时支持利用cookie来保存用户的皮肤选择,使得用户在下次访问时能够自动加载之前选择的皮肤,提供良好的用户体验...

    Js换肤实例并保存本地设置

    JavaScript(Js)换肤功能是网页...这个实例对于初学者来说是一个很好的学习资源,可以让你掌握JavaScript操作CSS和使用Cookies保存本地设置的基本方法。如果你在实践中遇到任何问题,可以留言寻求帮助,乐意为你解答。

    学习application(session)(cookie)聊天室小例子

    3. **Cookie**:Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并由浏览器保存,当用户再次访问同一网站时,浏览器会将Cookie回传给服务器。Cookie用于存储用户状态、偏好设置等信息,可以跨请求持久化...

    三层皮肤使用示例)源码-许多皮肤素材

    此外,还有可能涉及到本地存储或cookie来保存用户的皮肤选择,以便在下次访问时自动应用。 为了实现这个示例,开发者可能使用了MVC(Model-View-Controller)或MVVM(Model-View-ViewModel)等设计模式,它们强调了...

    js换肤功能

    JavaScript(简称JS)换肤功能是网页应用中常见的...通过以上步骤,我们可以实现JavaScript的换肤功能,并通过Cookie保存用户的选择,提供个性化的用户体验。在实际项目中,还需要结合具体需求进行适当的调整和优化。

    jQuery.cookie.js插件实现换肤功能.docx

    // 如果没有保存的皮肤信息,则使用默认皮肤 $("body").attr("class", "fu1"); } }); ``` #### 四、jQuery.cookie.js插件的高级用法 ##### 1. 设置Cookie ```javascript // 设置一个有效期为7天的cookie $....

    jQuery实现的网站换肤功能,带cookie,默认为点击后的颜色。

    接着,我们需要实现cookie功能来保存用户的皮肤选择。Cookie是一种在客户端存储数据的小型文本文件,当用户下次访问网站时,浏览器会自动发送这些文件,使得网站可以记住用户的选择。在JavaScript中,我们可以使用`...

    Ajax无刷新改变网页模板(风格) 保存cookie.rar

    JavaScript结合CSS实现Ajax无刷新改变网页模板(风格)的实例,css js实时切换风格皮肤,并存入cookie,可自动保存用户所选择的网页风格,下次打开后仍然是上次所选择的风格。css多风格、皮肤切换演示,用户一共可...

    网站动态更换皮肤(Asp.net)

    2. **视图状态(ViewState)或Cookie**: 为了保存用户的皮肤选择,Asp.net可以使用ViewState或Cookie。ViewState将信息存储在服务器端,而Cookie则存储在客户端。在用户每次访问时,系统可以根据这些存储的信息加载...

    css动态更换皮肤

    5. **存储用户偏好**:为了使用户的皮肤选择在下次访问时依然有效,可以使用浏览器的localStorage或cookie来保存用户的选择。当页面加载时,根据存储的偏好自动加载对应的CSS。 6. **响应式设计**:动态更换皮肤的...

Global site tag (gtag.js) - Google Analytics