动态搜索输入作为密码变量
Dynamic search input as variable for cypher
我正在尝试使用 structr 2.0.1 创建结果页面。
enter image description here
我想在这些页面中显示用户输入的结果。输入到我的输入字段中的字符串应该通过密码查询传输到我的 Neo4j-DB。
Input = "admin" -> Cypher(Match (n) Where n.name = 'admin' Return n)
return 值将用于通过整数 id 实例化图形对象(完全可以正常工作,没有问题)。
不幸的是,经过数小时的调查,我无法做到 内置功能。我也对 "Query & Data Binding"、& "HTML-Properties"-Page 和 Java 脚本进行了很多尝试,但我无法将值从我的 html 元素传输到我的密码查询函数在我的前面。
[input field ("String")--> button fuction()--> cypher (Query) --> function input {graph.addNode(ID)}]
structr 中必须有解决方案,无需直接 ajax 调用即可解决此问题。
也许你们中有人发现了同样的问题或有解决方案。
在这种情况下,我将不胜感激。
谢谢!
迷宫
您的请求参数的值在 StructrScript 中可用,请参阅 https://support.structr.com/article/119 了解更多详细信息。
在脚本上下文中,有一个您可以直接访问的名为 request
的对象,它将包含您发送给 Structr 的任何请求参数。因此,在您的情况下,您可以像这样访问输入字段的值(前提是您将名称设置为 name
):
${request.name}
需要执行以下步骤才能完成这项工作:
- 创建
<form method="POST" action="/${page.name}">
- 插入
<input type="text" name="name" value="${request.name}">
- 插入
<input type="submit" value="submit">
当您提交表单时,请求参数 "name" 将在 Structr 上下文中可用,如上所述。
要将该值插入到 Cypher 查询中,您必须围绕请求值构建查询,例如:
${cypher(concat('MATCH (n) WHERE n.name = "', request.name, '" RETURN n'))}
但是要非常小心这样的设置,因为上面的代码容易受到查询注入攻击(又名 SQL 注入,在这种情况下更确切地说是 CQL 注入)。
我正在尝试使用 structr 2.0.1 创建结果页面。
enter image description here
我想在这些页面中显示用户输入的结果。输入到我的输入字段中的字符串应该通过密码查询传输到我的 Neo4j-DB。
Input = "admin" -> Cypher(Match (n) Where n.name = 'admin' Return n)
return 值将用于通过整数 id 实例化图形对象(完全可以正常工作,没有问题)。
不幸的是,经过数小时的调查,我无法做到 内置功能。我也对 "Query & Data Binding"、& "HTML-Properties"-Page 和 Java 脚本进行了很多尝试,但我无法将值从我的 html 元素传输到我的密码查询函数在我的前面。
[input field ("String")--> button fuction()--> cypher (Query) --> function input {graph.addNode(ID)}]
structr 中必须有解决方案,无需直接 ajax 调用即可解决此问题。
也许你们中有人发现了同样的问题或有解决方案。
在这种情况下,我将不胜感激。
谢谢!
迷宫
您的请求参数的值在 StructrScript 中可用,请参阅 https://support.structr.com/article/119 了解更多详细信息。
在脚本上下文中,有一个您可以直接访问的名为 request
的对象,它将包含您发送给 Structr 的任何请求参数。因此,在您的情况下,您可以像这样访问输入字段的值(前提是您将名称设置为 name
):
${request.name}
需要执行以下步骤才能完成这项工作:
- 创建
<form method="POST" action="/${page.name}">
- 插入
<input type="text" name="name" value="${request.name}">
- 插入
<input type="submit" value="submit">
当您提交表单时,请求参数 "name" 将在 Structr 上下文中可用,如上所述。
要将该值插入到 Cypher 查询中,您必须围绕请求值构建查询,例如:
${cypher(concat('MATCH (n) WHERE n.name = "', request.name, '" RETURN n'))}
但是要非常小心这样的设置,因为上面的代码容易受到查询注入攻击(又名 SQL 注入,在这种情况下更确切地说是 CQL 注入)。