@Override public void encodeMarkupBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException { ResponseWriter responseWriter = facesContext.getResponseWriter(); InputFile inputFile = (InputFile) uiComponent; // If the component should render the preview table or the upload progress table, then if (inputFile.isShowPreview() || inputFile.isShowProgress()) { // Start encoding the outermost <div> element. responseWriter.startElement("div", uiComponent); String clientId = uiComponent.getClientId(facesContext); responseWriter.writeAttribute("id", clientId, "id"); RendererUtil.encodeStyleable(responseWriter, (Styleable) uiComponent); // If the component should render the upload progress table, then format the // progress-table.html template // and write it to the response. if (inputFile.isShowProgress()) { encodeProgress(facesContext, responseWriter, uiComponent, clientId); } // Otherwise, delegate writing to the delegate renderer. Note that this effectively a no-op // with Mojarra and // MyFaces, since they both delay writing of the entire <input type="file"...> ... </input> // element until // encodeEnd. else { super.encodeMarkupBegin(facesContext, uiComponent); } } // Otherwise, delegate writing to the delegate renderer. Note that this effectively a no-op with // Mojarra and // MyFaces, since they both delay writing of the entire <input type="file"...> ... </input> // element until // encodeEnd. else { super.encodeMarkupBegin(facesContext, uiComponent); } }
@Override public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException { // Encode the starting <div> element that represents the rich text editor. ResponseWriter responseWriter = facesContext.getResponseWriter(); responseWriter.startElement(StringPool.DIV, uiComponent); String clientId = uiComponent.getClientId(); char separatorChar = UINamingContainer.getSeparatorChar(facesContext); String escapedEditorName = clientId.replace(separatorChar, '_').concat("_jsptag"); responseWriter.writeAttribute(StringPool.ID, clientId, null); RendererUtil.encodeStyleable(responseWriter, (Styleable) uiComponent); // Encode the starting <textarea> element. InputRichText inputRichText = (InputRichText) uiComponent; responseWriter.startElement("textarea", uiComponent); responseWriter.writeAttribute(StringPool.ID, clientId + "_input", null); responseWriter.writeAttribute(StringPool.NAME, escapedEditorName, null); responseWriter.writeAttribute(Styleable.STYLE, "display:none;", null); // Encode the onblur/onchange/onfocus attributes and any associated client behavior scripts. String onblur = inputRichText.getOnblur(); String onchange = inputRichText.getOnchange(); String onfocus = inputRichText.getOnfocus(); Map<String, List<ClientBehavior>> clientBehaviorMap = inputRichText.getClientBehaviors(); for (String eventName : inputRichText.getEventNames()) { List<ClientBehavior> clientBehaviorsForEvent = clientBehaviorMap.get(eventName); if (clientBehaviorsForEvent != null) { for (ClientBehavior clientBehavior : clientBehaviorsForEvent) { ClientBehaviorContext clientBehaviorContext = ClientBehaviorContext.createClientBehaviorContext( facesContext, inputRichText, eventName, clientId, null); String clientBehaviorScript = clientBehavior.getScript(clientBehaviorContext); if (clientBehaviorScript != null) { if ("valueChange".equals(eventName) || "change".equals(eventName)) { if (onchange != null) { clientBehaviorScript = onchange.concat(";").concat(clientBehaviorScript); onchange = null; } responseWriter.writeAttribute("onchange", clientBehaviorScript, null); } else if ("blur".equals(eventName)) { if (onblur != null) { clientBehaviorScript = onblur.concat(";").concat(clientBehaviorScript); onblur = null; } responseWriter.writeAttribute("onblur", clientBehaviorScript, null); } else if ("focus".equals(eventName)) { if (onfocus != null) { clientBehaviorScript = onfocus.concat(";").concat(clientBehaviorScript); onfocus = null; } responseWriter.writeAttribute("onfocus", clientBehaviorScript, null); } } } } } if (onblur != null) { responseWriter.writeAttribute("onblur", onblur, null); } if (onchange != null) { responseWriter.writeAttribute("onchange", onchange, null); } if (onfocus != null) { responseWriter.writeAttribute("onfocus", onfocus, null); } // Encode the value of the component as a child of the textarea element. Object value = inputRichText.getValue(); if (value != null) { responseWriter.writeText(value, null); } // Encode the closing </textarea> element. responseWriter.endElement("textarea"); // Encode the script that contains functions with names specific to this component, so that they // can be // invoked directly by the JavaScript generated by the JSP tag. String formattedTemplate = wysiwygTemplate.format(facesContext, inputRichText); responseWriter.startElement(StringPool.SCRIPT, uiComponent); responseWriter.writeAttribute(StringPool.TYPE, ContentTypes.TEXT_JAVASCRIPT, null); responseWriter.write(formattedTemplate); responseWriter.endElement(StringPool.SCRIPT); // Begin the JSP tag lifecycle and write the output to the response. super.encodeBegin(facesContext, uiComponent); }
@Override public void encodeBegin(FacesContext facesContext, UIComponent uiComponent) throws IOException { ResponseWriter responseWriter = facesContext.getResponseWriter(); responseWriter.startElement(FIELDSET, uiComponent); String clientId = uiComponent.getClientId(facesContext); responseWriter.writeAttribute(StringPool.ID, clientId, StringPool.ID); responseWriter.writeAttribute(StringPool.NAME, clientId, StringPool.ID); Fieldset fieldset = (Fieldset) uiComponent; boolean disabled = fieldset.isDisabled(); if (disabled) { responseWriter.writeAttribute( StringPool.DISABLED, Boolean.toString(disabled), StringPool.DISABLED); } RendererUtil.encodeStyleable(responseWriter, fieldset); // Encode passthrough attributes. String onclick = fieldset.getOnclick(); if (onclick != null) { responseWriter.writeAttribute(ONCLICK, onclick, ONCLICK); } String ondblclick = fieldset.getOndblclick(); if (ondblclick != null) { responseWriter.writeAttribute(ONDBLCLICK, ondblclick, ONDBLCLICK); } String onkeydown = fieldset.getOnkeydown(); if (onkeydown != null) { responseWriter.writeAttribute(ONKEYDOWN, onkeydown, ONKEYDOWN); } String onkeypress = fieldset.getOnkeypress(); if (onkeypress != null) { responseWriter.writeAttribute(ONKEYPRESS, onkeypress, ONKEYPRESS); } String onkeyup = fieldset.getOnkeyup(); if (onkeyup != null) { responseWriter.writeAttribute(ONKEYUP, onkeyup, ONKEYUP); } String onmousedown = fieldset.getOnmousedown(); if (onmousedown != null) { responseWriter.writeAttribute(ONMOUSEDOWN, onmousedown, ONMOUSEDOWN); } String onmousemove = fieldset.getOnmousemove(); if (onmousemove != null) { responseWriter.writeAttribute(ONMOUSEMOVE, onmousemove, ONMOUSEMOVE); } String onmouseout = fieldset.getOnmouseout(); if (onmouseout != null) { responseWriter.writeAttribute(ONMOUSEOUT, onmouseout, ONMOUSEOUT); } String onmouseover = fieldset.getOnmouseover(); if (onmouseover != null) { responseWriter.writeAttribute(ONMOUSEOVER, onmouseover, ONMOUSEOVER); } String onmouseup = fieldset.getOnmouseup(); if (onmouseup != null) { responseWriter.writeAttribute(ONMOUSEUP, onmouseup, ONMOUSEUP); } }