This forum is closed to new posts and responses. Individual names altered for privacy purposes. The information contained in this website is provided for informational purposes only and should not be construed as a forum for customer support requests. Any customer support requests should be directed to the official HCL customer support channels below:

HCL Software Customer Support Portal for U.S. Federal Government clients
HCL Software Customer Support Portal



Sep 13, 2012, 4:01 PM
4 Posts

Rich Text Control

  • Category: Server Side JavaScript
  • Platform: Windows
  • Release: 8.5.2
  • Role: Developer
  • Tags: rich text control requestScope.body NotesMIMEEntity
  • Replies: 2
Have a Rich Text control bound to requestScope.Body. Using code similar to this (see below) to populate my Rich Text control:
 
var doc:NotesDocument = currentDocument.getDocument();
if (doc.hasItem("body")) {
	var entity:NotesMIMEEntity = doc.getMIMEEntity("body");
	if (entity != null) {
		requestScope.Body = entity.getContentAsText();
	}
}
 This works great, however... I need to grab the contents of my Rich Text control and do something with it. I have a test button on the XPage with simple code:
 
var body:com.ibm.xsp.http.MimeMultipart = requestScope.Body;
print(body.getHTML())
 
This should print the HTML from my Rich Text control to the console. I get an error from the button:
 

Exception

Error while executing JavaScript action expression
Script interpreter error, line=2, col=12: 'body' is null

JavaScript code

   1: var body:com.ibm.xsp.http.MimeMultipart = requestScope.Body;
   2: print(body.getHTML())
Stack Trace
javax.faces.FacesException: Error while executing JavaScript action expression
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:102)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)
    com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:250)
    com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:206)
    com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:193)
    com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:154)
    com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)
    com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:86)
    com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:538)
    com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1151)
    com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:803)
    com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:758)
    com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:527)
    com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1135)
    com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:523)
    com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:352)
    com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:304)
    com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:261)
    com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:291)
com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript action expression
    com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:126)
    com.ibm.xsp.application.ActionListenerImpl.processAction(ActionListenerImpl.java:60)
    javax.faces.component.UICommand.broadcast(UICommand.java:324)
    com.ibm.xsp.component.UIEventHandler.broadcast(UIEventHandler.java:365)
    com.ibm.xsp.component.UIViewRootEx.broadcast(UIViewRootEx.java:1505)
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:307)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:428)
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:94)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)
    com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:250)
    com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:206)
    com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:193)
    com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:154)
    com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)
    com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:86)
    com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:538)
    com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1151)
    com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:803)
    com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:758)
    com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:527)
    com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1135)
    com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:523)
    com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:352)
    com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:304)
    com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:261)
    com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:291)
com.ibm.jscript.InterpretException: Script interpreter error, line=2, col=12: 'body' is null
    com.ibm.jscript.ASTTree.ASTMember.interpret(ASTMember.java:153)
    com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:88)
    com.ibm.jscript.ASTTree.ASTArgumentList.interpretArguments(ASTArgumentList.java:63)
    com.ibm.jscript.types.FBSObject.call(FBSObject.java:153)
    com.ibm.jscript.types.FBSGlobalObject$GlobalMethod.call(FBSGlobalObject.java:212)
    com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:175)
    com.ibm.jscript.ASTTree.ASTProgram.interpret(ASTProgram.java:119)
    com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:139)
    com.ibm.jscript.JSExpression._interpretExpression(JSExpression.java:435)
    com.ibm.jscript.JSExpression.access$1(JSExpression.java:424)
    com.ibm.jscript.JSExpression$2.run(JSExpression.java:414)
    java.security.AccessController.doPrivileged(AccessController.java:284)
    com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:410)
    com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:251)
    com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)
    com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:220)
    com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:111)
    com.ibm.xsp.application.ActionListenerImpl.processAction(ActionListenerImpl.java:60)
    javax.faces.component.UICommand.broadcast(UICommand.java:324)
    com.ibm.xsp.component.UIEventHandler.broadcast(UIEventHandler.java:365)
    com.ibm.xsp.component.UIViewRootEx.broadcast(UIViewRootEx.java:1505)
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:307)
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:428)
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:94)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)
    com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:250)
    com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:206)
    com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:193)
    com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:154)
    com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:137)
    com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:86)
    com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:538)
    com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1151)
    com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:803)
    com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:758)
    com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:527)
    com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1135)
    com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:523)
    com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:352)
    com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:304)
    com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:261)
    com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:291)
 
 
Note - If I manually type something into my Rich Text control my button works great. It's just when I try to dynamically set the contents of my Rich Text control using requestScope.body = entity.getContentAsText(); that I get the error. The code I'm using is sample code right from IBM. Can anyone tell me what I'm doing wrong? Do I need to upgrade my server to 8.5.3 with upgrade pack 1? Thanks in advance...
 
Sep 19, 2012, 1:46 PM
4 Posts
Re: Rich Text Control
Isn't there anyone out there that has come across this issue? Do I need to scrap the Rich Text control completely and go with TinyMCE custom control?
Sep 26, 2012, 7:36 AM
129 Posts
Re: Rich Text Control
From your code snippet it looks like you store a string in requestScope.
 
A string is not a mime entity. 

This forum is closed to new posts and responses. Individual names altered for privacy purposes. The information contained in this website is provided for informational purposes only and should not be construed as a forum for customer support requests. Any customer support requests should be directed to the official HCL customer support channels below:

HCL Software Customer Support Portal for U.S. Federal Government clients
HCL Software Customer Support Portal