小编Mat*_*sen的帖子

如何找出在VisualForce的下一页上选择了哪些复选框?

我有一个数据表,它遍历自定义对象并生成复选框.在第二页上,我想确定选择了哪些复选框.

在VisualForce页面中:

 Age <apex:inputText value="{!age}" id="age" />
 <apex:dataTable value="{!Areas}" var="a">
      <apex:column >
      <apex:inputCheckbox value="{!a.name}" /> <apex:outputText value="{!a.name}" />
      </apex:column>
  </apex:dataTable>
Run Code Online (Sandbox Code Playgroud)

在控制器中:

 public String age {get; set; }
  public List<Area_Of_Interest__c> getAreas() {
      areas = [select id, name from Area_Of_Interest__c];
      return areas;
  }
Run Code Online (Sandbox Code Playgroud)

在我的第二页上,我可以通过使用检索用户在文本框"age"中放置的值{!age}.如何检索已选中的复选框?

谢谢.

salesforce force.com visualforce

7
推荐指数
1
解决办法
3万
查看次数

从Ruby on Rails调用PL/pgSQL存储过程

我正在开发一个项目,我在PostgreSQL环境中担任数据库设计师/管理员.领导者决定将Rails用于应用程序逻辑并招募一名Rails程序员.

Rails程序员说他通常会编写所有应用程序代码,并且不喜欢让某人通过他存储过程而导致缺乏控制,并且他从未在rails中完成过.

数据库使用了很多继承/ EERM,因此存储过程和触发器将使他的工作变得更容易,除了使用procs的性能优势.

我有四个问题:

1)如何从没有返回值的Rails调用pl/pgSQL存储过程

2)如何使用单个返回值(1行/ 1列)从Rails调用pl/pgSQL存储过程

3)如何从Rails调用pl/pgSQL存储过程,其中1行多列返回值.

4)如何使用OUT参数从Rails调用pl/pgSQL存储过程?

谢谢!

ruby stored-procedures ruby-on-rails plpgsql rails-postgresql

7
推荐指数
1
解决办法
3580
查看次数

如何故意在Python/Flask中导致400 Bad Request?

我的REST API的消费者说有时我会返回400 Bad Request- The request sent by the client was syntactically incorrect.错误.

我的应用程序(Python/Flask)日志似乎没有捕获这个,我的webserver/Nginx也没有记录.

编辑:我想尝试在Flask中导致400个错误请求以进行调试.我怎样才能做到这一点?

根据James的建议,我添加了类似于以下内容:

@app.route('/badrequest400')
def bad_request():
    return abort(400)
Run Code Online (Sandbox Code Playgroud)

当我调用它时,flask返回以下HTML,它不使用"客户端发送的请求在语法上不正确"行:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>400 Bad Request</title>
<h1>Bad Request</h1>
<p>The browser (or proxy) sent a request that this server could not understand.</p>
Run Code Online (Sandbox Code Playgroud)

(我不确定为什么它不包括<body>标签.

在我看来,400错误消息有不同的变化.例如,如果我将cookie设置为长度为50,000的值(使用Interceptor with Postman),我将从Flask获得以下错误:

<html>
<head>
    <title>Bad Request</title>
</head>
<body>
    <h1>
        <p>Bad Request</p>
    </h1>
Error parsing headers: 'limit request headers fields size'

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

有没有办法让Flask通过400个错误的不同变化?

python rest nginx http-status-code-400 postman

7
推荐指数
3
解决办法
1万
查看次数

针对大型POST请求的Nginx client_body_buffer_size和client_max_body_size优化

我有一个API,可以在每次传输中接收1K到20MB的数据.我还有一个网站,在一次传输中只能接收不到10K的网站.API和网站都位于同一个Nginx代理服务器之后.

来自文档 client_body_buffer_size

如果请求主体大小超过缓冲区大小,则整个(或部分)请求主体将写入临时文件."

这意味着每当我收到超过默认值的请求时,它都会被写入磁盘.

鉴于我可以接收大的有效载荷,最好设置client_body_buffer_size等于client_max_body_size,对我来说是20MB?我认为这会阻止nginx每次都将请求写入磁盘.

client_body_buffer_size如此高的设定会有什么后果吗?这会影响到从未收到如此大规模请求的网站吗?

nginx

7
推荐指数
2
解决办法
2万
查看次数

SQLAlchemy - 尝试排除不同的完整性错误

SQLAlchemy 会引发IntegrityError唯一约束和外键约束违规。我怎样才能把它包裹在一个try/except块中并区分异常的各种原因?我想知道哪一列发生了违规,以及它是唯一违规还是外键违规。

就以这堂课为例。

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String, unique=True)
    org_id = db.column(db.Integer, db.ForeignKey('company_id')
Run Code Online (Sandbox Code Playgroud)

以下情况可能会导致两条不同消息之一:

  1. 如果name不唯一,则消息为 (x.IntegrityError) 列名不唯一
  2. 如果org_id不唯一,则消息为 (x.IntegrityError) 外键约束失败

我想我可以在第一种情况下解析出“unique”和列名。在第二种情况下,我可以解析出“外键”,但无法获取列名。如果表上有多个外键,如何在不再次调用每个父表的情况下判断违规发生的位置?

user = User(name='Matthew Moisen', org_id=999)
db.session.add(user)
try:
    db.session.commit()
except IntegrityError as ex:
    # This gives either:
    #    (x.IntegrityError) column name is not unique
    #    (x.IntegrityError) foreign key constraint failed
    logger.exception(ex.message)
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

7
推荐指数
1
解决办法
3870
查看次数

Go Coverage 不包括其他包中的函数

我有一个这样的项目:

app/
    api/
        foo.go
        test_foo.go
src/
    db/
        bar.go
Run Code Online (Sandbox Code Playgroud)

在 中foo.go,对 中的函数进行调用bar.go。但是,在运行覆盖率报告时,它显示 bar.go 的 0 行被覆盖。

有没有办法让覆盖范围包括对其他包的函数调用?

就我而言,我并不想为单独的测试dbapi,因为通过所有的呼叫db将总是通过api,这将是多余写两个测试。

我正在运行这样的覆盖范围:

go clean -testcache
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out
Run Code Online (Sandbox Code Playgroud)

go

7
推荐指数
1
解决办法
962
查看次数

如何在Python脚本关闭时执行代码?

我有一个记录温度的树莓派,并将它们存储在我网站上的MySQL数据库中.我经常玩脚本,所以我正在ctrl+c运行脚本并重新执行它.我想close()在数据库连接上正确发布.当在python中退出脚本时,如何运行一行代码?

import MySQLdb
con = MySQLdb.connect(...)
cursor = con.cursor() 

# ...

#if script closes:
   #con.close()
Run Code Online (Sandbox Code Playgroud)

python

6
推荐指数
1
解决办法
832
查看次数

java.sq.SQLException:找不到列

我收到以下错误:

HTTP Status 500 - Request processing failed; nested exception is
org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar 
[SELECT id, name FROM track WHERE category_id = 1 ORDER BY name]; nested exception is
java.sql.SQLException: Column 'category_id' not found.
Run Code Online (Sandbox Code Playgroud)

但是当我将错误中列出的非常选择的语句复制并粘贴到mysql shell中时,我得到的结果是预期的,因为表中track有列category_id.

这个错误可能是什么原因?

这是表create语句track:

CREATE TABLE track (
 id SERIAL
,name VARCHAR(50)
,category_id BIGINT UNSIGNED -- This references a serial (bigint unsigned)
,CONSTRAINT track_id_pk PRIMARY KEY (id)
,CONSTRAINT track_category_id_fk FOREIGN KEY
  (category_id) REFERENCES category (id)
);
Run Code Online (Sandbox Code Playgroud)

以下是我的dao类中有关该track …

java sql spring jdbc

6
推荐指数
1
解决办法
4万
查看次数

带尾斜杠的烧瓶POST

该文档指出,定义路线的首选方式是在结尾加上斜杠:

@app.route('/foo/', methods=['GET'])
def get_foo():
    pass
Run Code Online (Sandbox Code Playgroud)

这样,客户可以GET /fooGET /foo/获得相同的结果。

但是,POSTed方法没有相同的行为。

从烧瓶进口烧瓶
app = Flask(__ name__)

@ app.route( '/富/',方法= [ 'POST'])
def post_foo():
    返回“栏”

app.run(端口= 5000)

在这里,如果你POST /foo,它会失败,method not allowed如果你没有在调试模式下运行,或者如果你是在调试模式下,它会用以下通知失败:

一个请求被发送到这个URL(HTTP://本地主机:5000 / FOO),但重定向由路由系统自动发出“ HTTP://本地主机:5000 /富/&QUOT ;该URL与一个尾随限定。斜线所以瓶将自动重定向到与如果它没有一个访问的结尾的斜线的网址。请务必使直接发送您的POST请求到这个网址,因为我们不能让浏览器或HTTP客户端表单数据可靠或不带用户重定向相互作用


此外,您似乎甚至无法执行此操作:

@app.route('/foo', methods=['POST'])
@app.route('/foo/', methods=['POST'])
def post_foo():
    return "bar"
Run Code Online (Sandbox Code Playgroud)

或这个:

@ app.route( '/富',方法= [ 'POST'])
DEF post_foo_no_slash():
    返回重定向(url_for( 'post_foo'),代码= 302)

@ app.route( '/富/',方法= [ 'POST'])
def post_foo():
    返回“栏”

有没有什么办法让POST工作在两个非拖尾和结尾的斜杠?

python flask python-2.7

6
推荐指数
1
解决办法
1517
查看次数

如何使用 Oracle 12C JSON_VALUE 提取大于 4000 字节的 json 值?

我有一个带有 CLOB 的表,其中存储了一个大的 JSON 有效负载。但是,我无法选择值大于 4000 字节的某些属性。

例如,以这样的 json 为例:

{
    "foo": "some string smaller than 4k",
    "bar": "some string larger than 4k"
}
Run Code Online (Sandbox Code Playgroud)

以下工作:

SELECT json_value(j, '$.foo' ERROR ON ERROR) FROM j;
Run Code Online (Sandbox Code Playgroud)

以下失败ORA-40478: output value too large (maximum:)

SELECT json_value(j, '$.bar' ERROR ON ERROR) FROM j;
Run Code Online (Sandbox Code Playgroud)

这个 12CR1 文档

ORA-40478: 输出值太大(最大值:字符串)

原因:提供的 JavaScript 对象表示法 (JSON) 运算符生成的结果超出了 RETURN 子句中指定的最大长度。

行动:增加返回子句中数据类型的最大大小或在返回子句中使用CLOB或BLOB。

但是,使用该RETURNING子句也会失败,例如ORA-40444: JSON processing error

SELECT json_value(j, '$.bar' RETURNING CLOB ERROR ON ERROR) …
Run Code Online (Sandbox Code Playgroud)

oracle json oracle12c

6
推荐指数
1
解决办法
5142
查看次数