{"id":1539,"date":"2016-03-14T09:33:56","date_gmt":"2016-03-14T00:33:56","guid":{"rendered":"http:\/\/www.ktrick.com\/?p=1539"},"modified":"2016-03-14T17:28:13","modified_gmt":"2016-03-14T08:28:13","slug":"invoke-function-from-string-xpages","status":"publish","type":"post","link":"https:\/\/www.ktrick.com\/en\/invoke-function-from-string-xpages\/","title":{"rendered":"How to invoke function from string by XPages SSJS"},"content":{"rendered":"<h2>What&#8217;s the case you want to invoke the function from string?<\/h2>\n<p>There are many situations you want to invoke the function from string of function name. One of case is for example, you might want to switch the functions from the parameter value of HTML Get\/Post method.<\/p>\n<p>The example below is client-side javascript(CSJS) when it&#8217;s triggered from the URL like &#8220;http:\/\/mydomain.com\/ApplyFuncXAgent.xsp?func=callMe&#8221;. Then switch the flow by the query parameter value of &#8220;func&#8221;.<\/p>\n[code lang=&#8221;javascript&#8221; highlight=&#8221;&#8221;]\nvar strFunc = location.search.split(&#8216;func=&#8217;)[1];<br \/>\nswitch(location.search.split(&#8216;func=&#8217;)[1]){<br \/>\ncase &quot;func1&quot;: func1(); break;<br \/>\ncase &quot;func2&quot;: func2(); break;<br \/>\ncase &quot;callMe&quot;: callMe(); break;<br \/>\ndefault: break;<br \/>\n}<br \/>\n[\/code]\n<p>If you want to simplify the code above, you can write the code like below:<\/p>\n[code lang=&#8221;javascript&#8221; highlight=&#8221;2&#8243;]\nvar strFunc = location.search.split(&#8216;func=&#8217;)[1];<br \/>\nvar funcObj = window[strFunc];<br \/>\nif (typeof funcObj === &quot;function&quot;) funcObj();<br \/>\n[\/code]\n<p>In this case, window object is used to retrieve the function object, then call the target function. However Server-side Javascript(SSJS) does not have the window object like CSJS. Therefore you need to tweak this code a little.<\/p>\n<h2>(1) Use &#8220;this&#8221; instead of &#8220;window&#8221;<\/h2>\n[code lang=&#8221;javascript&#8221; highlight=&#8221;&#8221;]\n<p>var funcObj = this[strFunc];<\/p>\n[\/code]\n<h2>(2) Use eval()<\/h2>\n[code lang=&#8221;javascript&#8221; highlight=&#8221;&#8221;]\n<p>eval(strFunc+&quot;()&quot;);<\/p>\n[\/code]\n<p>Both (1),(2) can get the same result.<\/p>\n<h2>To pass the parameters, Use call() or apply()<\/h2>\n<p>Now we could call the function from string of function name. Then if you want to pass the parameters as well when call the funcion, you can use call() or apply() functions. Actually this way is pretty same as CSJS.<\/p>\n<p>For example, when I call the HTTP Get request like &#8220;http:\/\/mydomain.com\/ApplyFuncXAgent.xsp?func=callMe&#038;args=aa,bb&#8221;. (I added [args=aa,bb] as the function argument&#8217;s values.) , the SSJS code becomes like below:<\/p>\n[code lang=&#8221;javascript&#8221; highlight=&#8221;3&#8243;]\nvar argsAry = @Explode(args, &quot;,&quot;);<br \/>\nvar funcObj = this[func];<br \/>\nreturn funcObj.call(this, argsAry[0], argsAry[1]);<br \/>\n[\/code]\n<p>The code above is the example of using call(). If you want to use apply(), then instead of passing the arguments separated by comma, pass the Array to the second argument of apply(). Below is the sample code:<\/p>\n[code lang=&#8221;javascript&#8221; highlight=&#8221;3&#8243;]\nvar argsAry = @Explode(args, &quot;,&quot;);<br \/>\nvar funcObj = this[func];<br \/>\nreturn funcObj.apply(this, argsAry);<br \/>\n[\/code]\n<h3>Sample code of using XAgent<\/h3>\n<p>In my situation, I needed to get the JSON data from the many notes views as the asynchronous connection. (Passing the JSON data for Kendo UI Grid data.) So I decided to use the XAgent to return the JSON data, however I didn&#8217;t want to create XAgent XPages as many as notes views. So the sample code below calls the function from the Get parameter value of function name and returns the JSON data by the specified function.<br \/>\nHTTP request is like this -> &#8220;http:\/\/mydomain.com\/hoge.nsf\/ApplyFuncXAgent.xsp?func=testFunc&#038;args=aa,bb&#8221;<\/p>\n[code lang=&#8221;xml&#8221; highlight=&#8221;15,16,18&#8243;]\n&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<br \/>\n&lt;xp:view xmlns:xp=&quot;http:\/\/www.ibm.com\/xsp\/core&quot; rendered=&quot;false&quot;&gt;<br \/>\n\t&lt;xp:this.resources&gt;<br \/>\n\t\t&lt;xp:script src=&quot;\/xpCommon.jss&quot; clientSide=&quot;false&quot;&gt;&lt;\/xp:script&gt;<br \/>\n\t&lt;\/xp:this.resources&gt;<br \/>\n\t&lt;xp:this.afterRenderResponse&gt;&lt;![CDATA[#{javascript:var externalContext = facesContext.getExternalContext();<br \/>\nvar writer = facesContext.getResponseWriter();<br \/>\nvar response = externalContext.getResponse();<\/p>\n<p>\/\/ Set context type etc<br \/>\nresponse.setContentType(&quot;application\/json&quot;);<br \/>\nresponse.setHeader(&quot;Cache-Control&quot;, &quot;no-cache&quot;);<\/p>\n<p>\/\/ read parameters<br \/>\nvar func = context.getUrlParameter(&quot;func&quot;);<br \/>\nvar args = context.getUrlParameter(&quot;args&quot;);<\/p>\n<p>var retTxt = callFuncByString(func, args);<br \/>\nwriter.write(retTxt);<br \/>\nwriter.endDocument();}]]&gt;&lt;\/xp:this.afterRenderResponse&gt;<br \/>\n&lt;\/xp:view&gt;<br \/>\n[\/code]\n<p>Below is the sample code of xpCommon.jss which contains the callFuncByString() above.<\/p>\n[code lang=&#8221;javascript&#8221; highlight=&#8221;&#8221;]\nfunction callFuncByString(func, args){<br \/>\n\ttry{<br \/>\n\t\tvar argsAry = @Explode(args, &quot;,&quot;);<br \/>\n\t\tvar funcObj = this[func];<br \/>\n\t\treturn funcObj.call(this, argsAry[0], argsAry[1]);<br \/>\n\t}catch(e){<br \/>\n\t\tprint(e);<br \/>\n\t}<br \/>\n}<\/p>\n<p>function testFunc(arg1, arg2){<br \/>\n\treturn &quot;[{\\&quot;arg1\\&quot;:\\&quot;&quot;+arg1+&quot;\\&quot;, \\&quot;arg2\\&quot;:\\&quot;&quot;+arg2+&quot;\\&quot;}]&quot;;<br \/>\n}<br \/>\n[\/code]\n<p>The advantage of this logic is avoiding to create many XAgent for notes views. But please remember that dynamically calling the functions from string value sometimes lose the serviceability of code. For example debugging purpose.<br \/>\n<span style=\"color:coral\">*This XAgent is just for example and for the real coding, please pay attention to the security when you use this concept since any SSJS standard functions can be called remotely if you don&#8217;t add any restriction and it is very dangerous.<\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>What&#8217;s the cas [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,19,26,104,105],"tags":[88,96,94,66],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to invoke function from string by XPages SSJS | XPages\u3001IBM Notes\/Domino\u306e\u30e2\u30d0\u30a4\u30eb\u30fbWEB\u30a2\u30d7\u30ea\u306e\u958b\u767a\u3001\u6280\u8853\u652f\u63f4 - \u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[:ja]XPages SSJS\u3067\u6587\u5b57\u5217\u304b\u3089\u95a2\u6570\u3092\u52d5\u7684\u306b\u547c\u3073\u51fa\u3059\u65b9\u6cd5[:en]How to invoke function from string by XPages SSJS[:] | XPages\u3001IBM Notes\/Domino\u306e\u30e2\u30d0\u30a4\u30eb\u30fbWEB\u30a2\u30d7\u30ea\u306e\u958b\u767a\u3001\u6280\u8853\u652f\u63f4 - \u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e\" \/>\n<meta property=\"og:description\" content=\"What&#8217;s the cas [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/\" \/>\n<meta property=\"og:site_name\" content=\"XPages\u3001IBM Notes\/Domino\u306e\u30e2\u30d0\u30a4\u30eb\u30fbWEB\u30a2\u30d7\u30ea\u306e\u958b\u767a\u3001\u6280\u8853\u652f\u63f4 - \u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ktrickLLC\" \/>\n<meta property=\"article:published_time\" content=\"2016-03-14T00:33:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-03-14T08:28:13+00:00\" \/>\n<meta name=\"author\" content=\"Tatsuki Kazunori\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@KtrickL\" \/>\n<meta name=\"twitter:site\" content=\"@KtrickL\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tatsuki Kazunori\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/\"},\"author\":{\"name\":\"Tatsuki Kazunori\",\"@id\":\"https:\/\/www.ktrick.com\/#\/schema\/person\/b25791ee2e6e62d083128a2d8d723b54\"},\"headline\":\"How to invoke function from string by XPages SSJS\",\"datePublished\":\"2016-03-14T00:33:56+00:00\",\"dateModified\":\"2016-03-14T08:28:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/\"},\"wordCount\":1159,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.ktrick.com\/#organization\"},\"keywords\":[\"JSON\",\"Lotus Domino Designer\",\"XPages \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\",\"XPages\"],\"articleSection\":[\"JSON\",\"Notes\/Domino\",\"XPages \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\",\"Notes\/Domino \u65e5\u672c\u8a9e\",\"XPages\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/\",\"url\":\"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/\",\"name\":\"[:ja]XPages SSJS\u3067\u6587\u5b57\u5217\u304b\u3089\u95a2\u6570\u3092\u52d5\u7684\u306b\u547c\u3073\u51fa\u3059\u65b9\u6cd5[:en]How to invoke function from string by XPages SSJS[:] | XPages\u3001IBM Notes\/Domino\u306e\u30e2\u30d0\u30a4\u30eb\u30fbWEB\u30a2\u30d7\u30ea\u306e\u958b\u767a\u3001\u6280\u8853\u652f\u63f4 - \u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e\",\"isPartOf\":{\"@id\":\"https:\/\/www.ktrick.com\/#website\"},\"datePublished\":\"2016-03-14T00:33:56+00:00\",\"dateModified\":\"2016-03-14T08:28:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u30db\u30fc\u30e0\",\"item\":\"https:\/\/www.ktrick.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"XPages SSJS\u3067\u6587\u5b57\u5217\u304b\u3089\u95a2\u6570\u3092\u52d5\u7684\u306b\u547c\u3073\u51fa\u3059\u65b9\u6cd5\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.ktrick.com\/#website\",\"url\":\"https:\/\/www.ktrick.com\/\",\"name\":\"XPages\u3001HCL Notes\/Domino\u306e\u30e2\u30d0\u30a4\u30eb\u30fbWEB\u30a2\u30d7\u30ea\u306e\u958b\u767a\u3001\u6280\u8853\u652f\u63f4 - \u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e\",\"description\":\"HCL Notes\/Domino\u306e\u4fdd\u5b88\u3001\u30b5\u30fc\u30d0\u30fc\u7ba1\u7406\u304b\u3089\u30a2\u30d7\u30ea\u958b\u767a\u3001\u30af\u30e9\u30a6\u30c9\u904b\u7528\u307e\u3067\u5168\u3066\u3092\u30b5\u30dd\u30fc\u30c8\",\"publisher\":{\"@id\":\"https:\/\/www.ktrick.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.ktrick.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.ktrick.com\/#organization\",\"name\":\"\u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e\",\"url\":\"https:\/\/www.ktrick.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.ktrick.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.ktrick.com\/wp-content\/uploads\/2019\/09\/KTRICK_300x300.png\",\"contentUrl\":\"https:\/\/www.ktrick.com\/wp-content\/uploads\/2019\/09\/KTRICK_300x300.png\",\"width\":300,\"height\":300,\"caption\":\"\u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e\"},\"image\":{\"@id\":\"https:\/\/www.ktrick.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/ktrickLLC\",\"https:\/\/twitter.com\/KtrickL\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.ktrick.com\/#\/schema\/person\/b25791ee2e6e62d083128a2d8d723b54\",\"name\":\"Tatsuki Kazunori\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.ktrick.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9638cc5f66ac38d785f171da94301196?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9638cc5f66ac38d785f171da94301196?s=96&d=mm&r=g\",\"caption\":\"Tatsuki Kazunori\"},\"description\":\"\u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e CEO &amp; CTO\u3092\u3057\u3066\u3044\u307e\u3059\u3002 Notes\/Domino\u306e\u958b\u767a\u3092\u5f97\u610f\u3068\u3057\u307e\u3059\u304c\u3001 C++ \/ Java \/ PHP \/ Javascript \u306a\u3069\u306e\u8a00\u8a9e\u3092\u4f7f\u3063\u3066WEB\u30a2\u30d7\u30ea\u3001iPhone \/ Android \u30a2\u30d7\u30ea\u958b\u767a\u306a\u3069\u3092\u3057\u305f\u308a\u3057\u307e\u3059\u3002 XPages\u306e\u4ed5\u4e8b\u3092\u3057\u3066\u3044\u308b\u3068\u30c6\u30f3\u30b7\u30e7\u30f3\u304c\u901a\u5e38\u306e1.25\u500d\u3050\u3089\u3044\u9ad8\u304f\u306a\u308a\u307e\u3059\u3002 I am owner of KTrick Co., Ltd. and Notes\/Domino developer. HCL Ambassador (IBM Champion for 2015 - current). I am interested in web application development and preferred languages are Notes\/Domino, C++ \/ Java \/ PHP \/ Javascript.\",\"sameAs\":[\"http:\/\/www.ktrick.com\/wp\"],\"url\":\"https:\/\/www.ktrick.com\/en\/author\/ktatsuki\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[:ja]XPages SSJS\u3067\u6587\u5b57\u5217\u304b\u3089\u95a2\u6570\u3092\u52d5\u7684\u306b\u547c\u3073\u51fa\u3059\u65b9\u6cd5[:en]How to invoke function from string by XPages SSJS[:] | XPages\u3001IBM Notes\/Domino\u306e\u30e2\u30d0\u30a4\u30eb\u30fbWEB\u30a2\u30d7\u30ea\u306e\u958b\u767a\u3001\u6280\u8853\u652f\u63f4 - \u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/","og_locale":"en_US","og_type":"article","og_title":"[:ja]XPages SSJS\u3067\u6587\u5b57\u5217\u304b\u3089\u95a2\u6570\u3092\u52d5\u7684\u306b\u547c\u3073\u51fa\u3059\u65b9\u6cd5[:en]How to invoke function from string by XPages SSJS[:] | XPages\u3001IBM Notes\/Domino\u306e\u30e2\u30d0\u30a4\u30eb\u30fbWEB\u30a2\u30d7\u30ea\u306e\u958b\u767a\u3001\u6280\u8853\u652f\u63f4 - \u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e","og_description":"What&#8217;s the cas [&hellip;]","og_url":"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/","og_site_name":"XPages\u3001IBM Notes\/Domino\u306e\u30e2\u30d0\u30a4\u30eb\u30fbWEB\u30a2\u30d7\u30ea\u306e\u958b\u767a\u3001\u6280\u8853\u652f\u63f4 - \u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e","article_publisher":"https:\/\/www.facebook.com\/ktrickLLC","article_published_time":"2016-03-14T00:33:56+00:00","article_modified_time":"2016-03-14T08:28:13+00:00","author":"Tatsuki Kazunori","twitter_card":"summary_large_image","twitter_creator":"@KtrickL","twitter_site":"@KtrickL","twitter_misc":{"Written by":"Tatsuki Kazunori","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/#article","isPartOf":{"@id":"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/"},"author":{"name":"Tatsuki Kazunori","@id":"https:\/\/www.ktrick.com\/#\/schema\/person\/b25791ee2e6e62d083128a2d8d723b54"},"headline":"How to invoke function from string by XPages SSJS","datePublished":"2016-03-14T00:33:56+00:00","dateModified":"2016-03-14T08:28:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/"},"wordCount":1159,"commentCount":2,"publisher":{"@id":"https:\/\/www.ktrick.com\/#organization"},"keywords":["JSON","Lotus Domino Designer","XPages \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a","XPages"],"articleSection":["JSON","Notes\/Domino","XPages \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a","Notes\/Domino \u65e5\u672c\u8a9e","XPages"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/","url":"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/","name":"[:ja]XPages SSJS\u3067\u6587\u5b57\u5217\u304b\u3089\u95a2\u6570\u3092\u52d5\u7684\u306b\u547c\u3073\u51fa\u3059\u65b9\u6cd5[:en]How to invoke function from string by XPages SSJS[:] | XPages\u3001IBM Notes\/Domino\u306e\u30e2\u30d0\u30a4\u30eb\u30fbWEB\u30a2\u30d7\u30ea\u306e\u958b\u767a\u3001\u6280\u8853\u652f\u63f4 - \u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e","isPartOf":{"@id":"https:\/\/www.ktrick.com\/#website"},"datePublished":"2016-03-14T00:33:56+00:00","dateModified":"2016-03-14T08:28:13+00:00","breadcrumb":{"@id":"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.ktrick.com\/invoke-function-from-string-xpages\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u30db\u30fc\u30e0","item":"https:\/\/www.ktrick.com\/"},{"@type":"ListItem","position":2,"name":"XPages SSJS\u3067\u6587\u5b57\u5217\u304b\u3089\u95a2\u6570\u3092\u52d5\u7684\u306b\u547c\u3073\u51fa\u3059\u65b9\u6cd5"}]},{"@type":"WebSite","@id":"https:\/\/www.ktrick.com\/#website","url":"https:\/\/www.ktrick.com\/","name":"XPages\u3001HCL Notes\/Domino\u306e\u30e2\u30d0\u30a4\u30eb\u30fbWEB\u30a2\u30d7\u30ea\u306e\u958b\u767a\u3001\u6280\u8853\u652f\u63f4 - \u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e","description":"HCL Notes\/Domino\u306e\u4fdd\u5b88\u3001\u30b5\u30fc\u30d0\u30fc\u7ba1\u7406\u304b\u3089\u30a2\u30d7\u30ea\u958b\u767a\u3001\u30af\u30e9\u30a6\u30c9\u904b\u7528\u307e\u3067\u5168\u3066\u3092\u30b5\u30dd\u30fc\u30c8","publisher":{"@id":"https:\/\/www.ktrick.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.ktrick.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.ktrick.com\/#organization","name":"\u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e","url":"https:\/\/www.ktrick.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.ktrick.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.ktrick.com\/wp-content\/uploads\/2019\/09\/KTRICK_300x300.png","contentUrl":"https:\/\/www.ktrick.com\/wp-content\/uploads\/2019\/09\/KTRICK_300x300.png","width":300,"height":300,"caption":"\u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e"},"image":{"@id":"https:\/\/www.ktrick.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ktrickLLC","https:\/\/twitter.com\/KtrickL"]},{"@type":"Person","@id":"https:\/\/www.ktrick.com\/#\/schema\/person\/b25791ee2e6e62d083128a2d8d723b54","name":"Tatsuki Kazunori","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.ktrick.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9638cc5f66ac38d785f171da94301196?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9638cc5f66ac38d785f171da94301196?s=96&d=mm&r=g","caption":"Tatsuki Kazunori"},"description":"\u30b1\u30fc\u30c8\u30ea\u30c3\u30af\u682a\u5f0f\u4f1a\u793e CEO &amp; CTO\u3092\u3057\u3066\u3044\u307e\u3059\u3002 Notes\/Domino\u306e\u958b\u767a\u3092\u5f97\u610f\u3068\u3057\u307e\u3059\u304c\u3001 C++ \/ Java \/ PHP \/ Javascript \u306a\u3069\u306e\u8a00\u8a9e\u3092\u4f7f\u3063\u3066WEB\u30a2\u30d7\u30ea\u3001iPhone \/ Android \u30a2\u30d7\u30ea\u958b\u767a\u306a\u3069\u3092\u3057\u305f\u308a\u3057\u307e\u3059\u3002 XPages\u306e\u4ed5\u4e8b\u3092\u3057\u3066\u3044\u308b\u3068\u30c6\u30f3\u30b7\u30e7\u30f3\u304c\u901a\u5e38\u306e1.25\u500d\u3050\u3089\u3044\u9ad8\u304f\u306a\u308a\u307e\u3059\u3002 I am owner of KTrick Co., Ltd. and Notes\/Domino developer. HCL Ambassador (IBM Champion for 2015 - current). I am interested in web application development and preferred languages are Notes\/Domino, C++ \/ Java \/ PHP \/ Javascript.","sameAs":["http:\/\/www.ktrick.com\/wp"],"url":"https:\/\/www.ktrick.com\/en\/author\/ktatsuki\/"}]}},"_links":{"self":[{"href":"https:\/\/www.ktrick.com\/en\/wp-json\/wp\/v2\/posts\/1539"}],"collection":[{"href":"https:\/\/www.ktrick.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ktrick.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ktrick.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ktrick.com\/en\/wp-json\/wp\/v2\/comments?post=1539"}],"version-history":[{"count":17,"href":"https:\/\/www.ktrick.com\/en\/wp-json\/wp\/v2\/posts\/1539\/revisions"}],"predecessor-version":[{"id":1557,"href":"https:\/\/www.ktrick.com\/en\/wp-json\/wp\/v2\/posts\/1539\/revisions\/1557"}],"wp:attachment":[{"href":"https:\/\/www.ktrick.com\/en\/wp-json\/wp\/v2\/media?parent=1539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ktrick.com\/en\/wp-json\/wp\/v2\/categories?post=1539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ktrick.com\/en\/wp-json\/wp\/v2\/tags?post=1539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}