我在我的xpage中使用此代码从远程服务器下载文件.当用户从xpage单击下载按钮时,将打开一个新的download.xsp页面并运行下面的代码.
#{javascript:
var exCon = facesContext.getExternalContext();
var response = exCon.getResponse();
var out = response.getOutputStream();
var zipfile = sessionScope.thezip;
var dname = zipfile.substring(zipfile.lastIndexOf("\\")+1);
dl.download(zipfile,dname);
sessionScope.thezip = null;
response.setContentType("application/zip, application/octet-stream");
response.addHeader("Content-disposition","attachment; filename="+dname);
response.setHeader("Cache-Control", "no-cache");
facesContext.responseComplete();
out.close();
Run Code Online (Sandbox Code Playgroud)
下载方法(db.download(string,string))是一种Java方法,它作为托管bean引入xpage.
public void download(String filepath, String dname){
Connection con = null;
PreparedStatement stm = null;
ResultSet rs = null;
try{
Class.forName(jdbcClass);
con = DriverManager.getConnection(url);
String insSql = "INSERT INTO Cache(name,zip) SELECT '"+filepath+"',* FROM OPENROWSET(BULK N'"+filepath+"', SINGLE_BLOB) AS import;";
stm = con.prepareStatement(insSql);
stm.executeUpdate();
String sql = "SELECT …Run Code Online (Sandbox Code Playgroud) 我在xpage中有一些视图(包括客户端).我有一组人(客户),其中包含视图的一些客户端.现在我想使用视图的搜索属性来仅显示属于该组的条目.
我已经使用搜索属性按名称选择用户,例如:
FIELD名称包含"Chuck Norris"
有没有类似的查询?(也许在场上使用@isMember ......?)
更新:我也将组条目(客户端名称)放入文档的文本列表中.那么我可以根据文本列表的值过滤视图的"名称"字段吗?
我正在尝试使用rpc服务更新文档.
我有一个带按钮的xpage.我想单击该按钮并使用CS javascript to setInterval并每5秒更新一次文档字段.
我使用了远程服务控件,代码如下:
<xe:jsonRpcService id="jsonRpcService1" serviceName="heartBeat">
<xe:this.methods>
<xe:remoteMethod name="send">
<xe:this.script><![CDATA[var db = session.getCurrentDatabase();
var heartView = db.getView("Heartbeats");
var doc:NotesDocument = heartView.getFirstDocument();
var vl = doc.getItemValueString();
if(vl==""){
doc.replaceItemValue("dummyH","z");
}else{
doc.replaceItemValue("dummyH",vl+"z");
}
doc.computeWithForm(false, false);
doc.save();]]></xe:this.script>
</xe:remoteMethod>
</xe:this.methods></xe:jsonRpcService>
Run Code Online (Sandbox Code Playgroud)
按钮的代码是这样的:
<xp:button value="Label" id="button1">
<xp:eventHandler event="onclick" submit="false">
<xp:this.script><![CDATA[setInterval(function(){heartBeat.send()},3000);]]></xp:this.script>
</xp:eventHandler></xp:button>
Run Code Online (Sandbox Code Playgroud)
它不起作用.我没有得到任何错误,但我也没有在文档中得到任何更新......代码中有什么问题?
UPDATE
如果我用一个简单的打印("aaaaa")替换rpc脚本它完美地工作(我也按照下面的答案中的Tim的建议,为我的客户端代码).
当我再次使用我以前的代码时,我得到以下javascript错误:无法加载/Databases/Test/Mike/my1.nsf/RPCpage.xsp/mm?$$viewid=!dqducrahog!状态:400
如何从远程服务访问数据库和文档?
我试图理解控件的"所有属性"选项卡中存在的事件(onclick,onfocus等等)与控件的事件处理程序中的相同事件之间的区别.
当尝试在"所有属性onclick"中添加客户端或服务器代码时,它在页面加载时执行,甚至我尝试做任何事情......(对于onfocus,onkeydown等,它们都立即在页面加载时执行).
任何解释?(或链接扩展)(当然我总是与事件处理程序一起工作,我很好,但是......我只是想知道.)
我想从其他客户端调用XPage,例如http://myserver.com/myDB/myApp.nsf/mypage.xsp?attr=first
并使用XPage mypage.xsp打印attr值.
var value1 = context.getUrlParameter("attr");
print(value1);
Run Code Online (Sandbox Code Playgroud)
可能吗?
我试图从我的多米诺骨牌应用程序连接到db2数据库,而不使用扩展库.
我创建了一个托管bean,它只连接到db2并在控制台上输出消息.
我从xpage上的按钮调用托管bean的方法.
bean中的代码是这样的:
Class.forName("com.ibm.db2.jcc.DB2Driver");
String url = "jdbc:db2://10.0.1.49:50000/AVIN";
String user = "db2admin";
String password = "ibmdb2";
con = DriverManager.getConnection(url, user, password);
System.out.println("Successful TEST JDBC Connection!!");
Run Code Online (Sandbox Code Playgroud)
我还配置了构建路径并添加了db2jcc.jar库.
问题是我得到了
com.ibm.db2.jcc.DB2Driver的java.lang.ClassNotFoundException
为什么会这样?
我有一个Domino表单,我正在考虑将日志保存在多值字段中.例如
用户Foo Bar于2015年1月1日创建了一个新项目
我想知道多值字段的存储限制是多少?
我在Android上用"登录facebook"创建了一个简单的测试应用程序.
这是我的代码:
public class MainActivity extends AppCompatActivity {
private TextView info;
private LoginButton loginButton;
private CallbackManager callbackManager;
String email;
String birthday;
String name;
String gender;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(getApplicationContext());
setContentView(R.layout.activity_main);
callbackManager = CallbackManager.Factory.create();
info = (TextView)findViewById(R.id.fb_text);
loginButton = (LoginButton)findViewById(R.id.fb_login);
loginButton.setReadPermissions(Arrays.asList("public_profile", "email", "user_birthday"));
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
info.setText(
"User ID: "
+ loginResult.getAccessToken().getUserId()
+ "\n" +
"Auth Token: "
+ loginResult.getAccessToken().getToken()
);
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用iText 7 for Java 创建带有希腊字符的pdf 。在PDF中仅可见拉丁字符和数字。
我正在使用以下代码加载字体:
PdfFont normalFont = PdfFontFactory.createFont(FontConstants.HELVETICA, "CP1253");
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
在 opencart 中,我看到 URL 如下所示:
https://www.example.com/admin/index.php?route=common/dashboard&token=Ger45ZJMsdfSSDggHfghI4wcQzbD
这个令牌是我的会话 ID 吗?如果是,在 url 上传递会话 ID 是否安全(带或不带 ssl)?
lotus-domino ×7
xpages ×7
java ×3
lotus-notes ×3
access-token ×1
android ×1
db2 ×1
events ×1
facebook ×1
fonts ×1
get ×1
itext ×1
itext7 ×1
javascript ×1
jdbc ×1
lotus ×1
opencart ×1
outputstream ×1
php ×1
rest ×1
rpc ×1
servlets ×1
url ×1