⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 battlemaprenderer.java

📁 struts框架的jsf组件的核心实用例子集合
💻 JAVA
字号:
package com.corejsf;import java.io.IOException;import java.util.Map;import javax.faces.application.FacesMessage;import javax.faces.component.UIComponent;import javax.faces.component.UIInput;import javax.faces.component.ValueHolder;import javax.faces.context.FacesContext;import javax.faces.context.ResponseWriter;import javax.faces.event.ActionEvent;import javax.faces.render.Renderer;public class BattleMapRenderer extends Renderer {   public void encodeBegin(FacesContext context, UIComponent component)      throws IOException {      ResponseWriter writer = context.getResponseWriter();      String id = component.getId();      Object value = ((ValueHolder) component).getValue();      BattleGround ground = (BattleGround) value;      writer.write(id + "=");      boolean own = ((Boolean)          component.getAttributes().get("own")).booleanValue();      /*        0 = water, not hit, or unknown if not owner        1 = ship, not hit        2 = water, hit        3 = ship, hit      */      for (int i = 0; i < ground.getRows(); i++) {         if (i > 0) writer.write("+");         for (int j = 0; j < ground.getColumns(); j++) {            int v = ground.getValueAt(i, j);            boolean hit = (v & BattleGround.HIT) != 0;            if (own || hit) {                  writer.write('0' + v);            } else                writer.write('0');         }      }   }   public void decode(FacesContext context, UIComponent component) {      if (context == null || component == null) return;      UIInput input = (UIInput) component;      String id = input.getId();      Object value = input.getValue();      BattleGround ground = (BattleGround) value;      // if we don't do the following, then the local value is null      input.setValue(value);      Map parameters          = context.getExternalContext().getRequestParameterMap();      String coords = (String) parameters.get(id);      if (coords == null) return;            try {         ground.setCurrent(coords);         input.queueEvent(new ActionEvent(input));      } catch (Exception ex) {         input.setValid(false);         context.addMessage(id,             new FacesMessage(FacesMessage.SEVERITY_ERROR,               "Invalid position",                "The boat position that you specified is invalid"));         }   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -